0

ネストされた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;


}
4

1 に答える 1

0

1)以下のコードで、チェッカーボード全体が描画されるまで、チェッカーボードの正方形を描画するシーケンスが左から右に垂直に下がると仮定した場合、私の理解は正しいですか?

正解です。行ごとに、左から右へ、上から下へ。

2)double xの目的、および最も内側のforループ内のdoubleyについていくつか質問があります。それらは、ある正方形から次の正方形までの間隔を空ける目的で計算されていますか?ダブルxとダブルyの目的を拡張できますか?また、1つのループの各サイクルで何が発生しますか?

これらは、次の正方形を描画する場所の座標です。具体的には、正方形の左上部分の座標です。正方形の幅を掛けるだけで、すべての正方形の開始点を把握できます。

于 2012-11-14T00:48:18.310 に答える