2014-01-21 90 views
-5

我知道我能做到阵列,打印的东西每两列

for (int i=0; i<5; i++) { 

我可以作出这样的东西打印每两列的阵列?以下是错误的。

for(int i=0; i<5; i+2) { 

int k=2 

for(int i=0; i<5; i+k){ 
+0

所以你想要什么? – Ved

+1

'i ++'是'i = i + 1'或'i + = 1'的快捷方式,所以只需使用'i = i + 2'或'i + = 2'。 – sp00m

+1

这不是一个数组,而是一个for-loop。 –

回答

0

下面是一个例子给你:

public class Main { 
    public static void main(String args[]) { 
     String example[] = { "item 1", "item 2", "item 3", 
       "item 4", "item 5", "item 6", "item 7", 
       "item 8", "item 9", "item 10" }; 
     for (int i = 0; i < example.length; i += 2) { 
      System.out.println(example[i]); 
     } 
    } 
} 

输出:

item 1 
item 3 
item 5 
item 7 
item 9 
+0

您没有解释OP正在做出的错误。仅仅倾销示例代码并不是一个好的答案。 – ADTC

0

我认为你需要做的

for(int i=0; i<5; i=i+2){ 
1

你所寻找的是:

for(int i=0; i<5; i += 2){ 

这将增加i的值2.“i + 2”在这一点上只是一个语法错误,不会com桩。

此外,这不是关于数组。这是一个for -loop。数组是数据结构。
一些有用的链接:
关于for-loops的官方Java教程。
关于arrays的官方Java教程。

+0

*“'i + 2'在那一点上只是一个语法错误,不会编译。”*这个陈述是错误的。它在语法上是正确的,**将**编译。然而,它是**语义错误**或**逻辑错误** - 它将导致无限循环,因为'i'的值永远不会改变(除非循环的主体改变它的值)。 – ADTC

+1

@ADTC我在ideone.com上试过它,它使用sun-jdk-1.7.0-25。它响应一个编译错误:“Main.java:14:error:not a statement”“for(int i = 0; i <5; i + 2){”。 –

+1

啊,是的。你说得对,我很抱歉。它给出了一个编译错误。在任何情况下,我们都可以在那里写一个正确编译的语句,但仍不会以'i <5'检查失败的方式更改'i'的值,例如:'i = 2' – ADTC

2

您的i+=2声明中您似乎忘记了=i+2只是一个不会改变原始值i的表达式。 i+=2i=i+2

这个怎么样?

for(int i=0; i<5; i+=2){} 
+0

稍微有点儿描述会对你有帮助 – Liath

+0

看来你在你的i + = 2语句中忘记了“=”。 i + 2只是一个不会改变i的原始值的表达式,i + = 2或者i = i + 2 –

0

首先它是从你的问题非常不清楚,你在找什么的! 如果我知道它是正确的,你想打印数组项目,跳过一个项目。如果是这样,可能是你的打印循环索引,而不是数组项。

 int[] myArray = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; 
     for (int i = 0; i < 5; i += 2) 
     { 
      Console.WriteLine(myArray[i]); 
     }