我是java初学者,我正在进行for循环和while循环。我理解它们是如何工作的,但我无法弄清楚如何从for循环转换为while循环。
for(int row=rowIndex+1; row<this.getMaxRows(); row++){
if(board[row][colIndex]==board[rowIndex][colIndex] && row!=rowIndex)
{
this.setBoardCell(row, colIndex, BoardCell.EMPTY);
score++;
}
else{
break;
}
}
答案 0 :(得分:6)
for循环只是一个带有变量声明的while循环和一个在最后执行的语句。
所以这个:
for(int row=rowIndex+1; row<this.getMaxRows(); row++){
//body of the loop goes here
}
大致相当于:
int row = rowIndex +1;
while (row < this.getMaxRows()){
//body of the loop goes here
row++;
}
唯一真正的区别是现在可以在row
- 循环之外访问while
变量。
如果您不希望这样做,可以使用另一个块:
{
int row = rowIndex +1;
while (row < this.getMaxRows()){
//body of the loop goes here
row++;
}
}
//can't access row here.
答案 1 :(得分:0)
for循环的第一部分是初始化,然后是检查,然后是增量。所以:
int row=rowIndex+1; //first part
while(row<this.getMaxRows())//second part {
if(board[row][colIndex]==board[rowIndex][colIndex] && row!=rowIndex) {
score++;
else
break;
}
row++;//third part
}
答案 2 :(得分:0)
您的问题不完整,但根据您提供的信息,这是您应该拥有的:
int row=rowIndex+1;
while((board[row][colIndex]==board[rowIndex][colIndex] && row!=rowIndex)){
this.setBoardCell(row, colIndex, BoardCell.EMPTY);
score++;
row++;
}
答案 3 :(得分:0)
我认为这会起作用
while(row < this.getMaxRows()) {
if (board[row][colIndex] == board[rowIndex][colIndex] && row != rowIndex) {
this.setBoardCell(row, colIndex, BoardCell.EMPTY);
score++;
row++;
}
else {
break;
}
}