如何在for循环中使用两个变量?

时间:2014-09-17 03:02:02

标签: java loops increment

for (int i = 0; i < ary1.length; i++) {
    int j = 1;
    System.out.println("Enter integer #"+ j++ +":" );

    ary1[i] = elementValue.nextInt();
}         

这是允许我将值输入到数组中的代码的一部分。我希望系统输出显示元素0的整数#1和元素1的整数#2,依此类推。变量j不会增加,尽管我将其设置为每次增加1。任何指导将不胜感激。谢谢

4 个答案:

答案 0 :(得分:0)

只需将j的声明移到循环之外:

int j = 1;
for (int i = 0; i < ary1.length; i++) {

        System.out.println("Enter integer #"+ j++ +":" );

        ary1[i] = elementValue.nextInt();
 }  

答案 1 :(得分:0)

你真的不需要第二个计数器。您可以执行以下操作。

    for (int i = 0; i < ary1.length; i++) {
        System.out.println("Enter integer #"+ (i+1) +":" );
        ary1[i] = elementValue.nextInt();
    }

答案 2 :(得分:0)

您需要在循环外声明j var。在您的代码中,j var每次都分配。因此增量正在中断。它应该是

int j = 1;
for (int i = 0; i < ary1.length; i++) {
    System.out.println("Enter integer #"+ j++ +":" );
    ary1[i] = elementValue.nextInt();
}

答案 3 :(得分:0)

虽然这里不需要第二个变量(并且由于这种关系而有点愚蠢),但“循环多个变量”完全有效,包括将它们一起声明和递增:

for (int i = 0, j = 1; i < ary1.length; i++, j++) {
     // ..
}

请注意,j也是循环的范围(虽然初始值为1),并且也在循环中递增,与({同时)i无关。 / p>