ネストされたforループの使用に関していくつか質問があります。この本の例では、ネストされたforループを使用して、典型的なチェッカーボードを描画しています。
1)以下のコードで、チェッカーボード全体が描画されるまで、チェッカーボードの正方形を描画するシーケンスが左から右に垂直に下がると仮定した場合、私の理解は正しいですか?
2)double xの目的、および最も内側のforループ内のdoubleyについていくつか質問があります。それらは、ある正方形から次の正方形までの間隔を空ける目的で計算されていますか?ダブルxとダブルyの目的を拡張できますか?また、1つのループの各サイクルで何が発生しますか?
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;
}