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++;
}
我必须编写一个简单的程序来了解嵌套循环是如何工作的。我遇到的问题是我的外循环没有循环。内循环工作正常,只是外循环不行。
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++;
}