我有几个关于使用嵌套 for 循环的问题。在本书的这个例子中,它使用嵌套的 for 循环来绘制一个典型的棋盘。
1)当我假设下面的代码说绘制棋盘格的顺序将从左到右垂直向下直到绘制整个棋盘时,我的理解是否正确?
2) 我对双 x 的用途和最里面的 for 循环中的双 y 有一些疑问。计算它们的目的是为了将一个正方形与下一个正方形隔开吗?您能否扩展双 x 和双 y 的目的以及一个循环的每个循环会发生什么?
import acm.program.*;
import acm.graphics.*;
public class checkerBoard extends GraphicsProgram{
public void run(){
double sqSize = getHeight() / N_ROWS;
for ( int i = 0; i < N_ROWS; i++){
for (int j = 0; j < N_COLUMNS; j++){
double x = j * sqSize;
double y = i * sqSize;
GRect rect = new GRect(x, y, sqSize, sqSize);
rect.setFilled((i+ j) % 2 !=0);
add(rect);
}
}
}
private static final int N_ROWS = 8;
private static final int N_COLUMNS = 8;
}