Java - 内循环是循环,外循环不是

Java - Inner loop is looping, outter loop is not

我必须编写一个简单的程序来了解嵌套循环是如何工作的。我遇到的问题是我的外循环没有循环。内循环工作正常,只是外循环不行。

currentRow = 1;
currentColumn = 1;
numRows = 2;
numColumns = 3;

while(currentRow <= numRows){
   currentColumnLetter = 'A';
   while(currentColumn <= numColumns){
      System.out.print("" + currentRow + currentColumnLetter + " ");
      currentColumn++;
      currentColumnLetter++;
   }
   currentRow++;
}

预期结果:1A 1B 1C 2A 2B 2C

我得到的结果:1A 1B 1C

while 循环是检查每个循环的布尔条件的重要结构。但是 for 构造更适合您的用例。它会提醒你reset/increment你的循环计数器。

    int numRows = 2;
    int numColumns = 3;
    char currentColumnLetter;
    for (int currentRow = 1; currentRow <= numRows; currentRow++) {
        currentColumnLetter = 'A';
        for (int currentColumn = 1; currentColumn <= numColumns; currentColumn++) {
            System.out.print("" + currentRow + currentColumnLetter + " ");
            currentColumnLetter++;
        }
    }

while 循环用例的一个例子是处理迭代器。

while (myIterator.hasNext()) {
    ....
}

你需要做的是 重置 currentColunm 因为你有一个条件,如果 currentColumn 小于或等于某个数字,它将打印..否则它不会..

这就是问题所在.. currentColumn 正在检查您所处的条件,因此 您需要做的 就是这个 ->

currentRow = 1;
currentColumn = 1;
numRows = 2;
numColumns = 3;

while(currentRow <= numRows){
   currentColumnLetter = 'A';
   while(currentColumn <= numColumns){
      System.out.print("" + currentRow + currentColumnLetter + " ");
      currentColumn++;
      currentColumnLetter++;
   }
   currentColumn = 1; //This was the part missing
   currentRow++;
}