【发布时间】:2015-03-17 21:35:23
【问题描述】:
尝试将 for 循环的这段代码转换为 while 循环:
int endData = myScanner.nextInt();
int row = 0;
int cell = 0;
int rowcell = 0;
System.out.println("FOR LOOP: ");
for (row = 1; row <= endData; row++) {
if (row%2 == 0) {
for (cell = 0; cell < row; cell++) {
for (rowcell = 0; rowcell <= cell; rowcell++) {
System.out.print(row);
}
System.out.println("");
}
}
else {
for (cell = row; cell > 0; cell--) {
for (rowcell = cell; rowcell > 0; rowcell--) {
System.out.print(row);
}
System.out.println("");
}
}
}
到目前为止,我已经尝试过这段代码,但结果完全错误:
row2 = 1;
while (row2 <= endData){
if(row2%2 == 0){
cell2=0;
rowcell2 = 0;
while(cell2<row2){
cell2++;
while(rowcell2 <= cell2){
rowcell2++;
System.out.print(row2);
} System.out.println("");
}
}else {
cell2=row2;
rowcell2 = cell2;
while(cell2 >0){
cell2--;
}while (rowcell2>0){
rowcell2--;
System.out.print(row2);
}System.out.println("");
} row2++;
}
例如,当用户输入值 3 时,for 循环返回正确答案:
1
2
22
333
33
3
但是 while 循环输出:
1
22
2
第333章
关于如何解决这个 while 循环的任何想法?
【问题讨论】:
-
为什么要让它成为一个while循环?这是何时使用 for 循环的完美用例。
-
这是为了作业!
标签: java for-loop while-loop converter user-input