【问题标题】:How to use two variables in a for loop?如何在for循环中使用两个变量?
【发布时间】:2014-09-17 03:02:02
【问题描述】:
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 设置为每次加一,但变量 j 并没有增加。任何指导将不胜感激。谢谢你

【问题讨论】:

  • 在这个循环之外声明 j
  • 你可以只打印“i+1”,这与 j 从 1 开始的效果相同。

标签: java loops increment


【解决方案1】:

您实际上并不需要第二个计数器。您可以执行以下操作。

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

【讨论】:

  • 谢谢。我最初尝试过这样做,但我的语法错误,因为我没有包含括号并尝试使用 i += 1
【解决方案2】:

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

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

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

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

【讨论】:

    【解决方案3】:

    您需要在循环外清除 j 变量。在您的代码中,j var 每次都在分配。所以增量是中断的。应该是

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

    【讨论】:

      【解决方案4】:

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

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

      请注意,j 也是循环的范围(尽管初始值为 1),并且在循环中独立于(但同时)i 递增。

      【讨论】:

        猜你喜欢
        • 2016-05-10
        • 1970-01-01
        • 1970-01-01
        • 2014-06-21
        • 2016-10-31
        • 2021-04-23
        • 1970-01-01
        • 2011-12-08
        • 1970-01-01
        相关资源
        最近更新 更多