-1

こんにちは、私は Java を学んでいて、かなりきちんとした解決策を見つけましたが、2 番目の for ループの特定のコード行に興味があります。私はまだJavaの学校に通っていないので、誰に聞いたらいいのかわからないので、ここで聞いていますが、とにかく:

for (int i = 0; i < BRICKS_IN_BASE + (-h); i++)

これは「マイナス1」iに「この回数だけ繰り返す」という意味ですか?hより具体的には何(-h)ですか?プレインクリメントですか?そして、なぜそれは括弧内にあるのですか?

変数の宣言で再び使用されますx

import acm.graphics.*;
import acm.program.*;
import java.awt.*;

public class Pyramid extends GraphicsProgram {

    /** Width of each brick in pixels */
    private static final int BRICK_WIDTH = 30;

    /** Width of each brick in pixels */
    private static final int BRICK_HEIGHT = 12;

    /** Number of bricks in the base of the pyramid */
    private static final int BRICKS_IN_BASE = 15;

    public void run() {
        for (int h = 0; h < BRICKS_IN_BASE; h++)
        {
            for (int i = 0; i < BRICKS_IN_BASE + (-h); i++)
            {
                int k = i * BRICK_WIDTH;
                int m = h * BRICK_HEIGHT;
                int x = ((getWidth() - ((BRICKS_IN_BASE + (-h)) * BRICK_WIDTH)) / 2) + k;
                int y = getHeight() - ((BRICK_HEIGHT + 1) + m);
                GRect brick = new GRect (x, y, BRICK_WIDTH, BRICK_HEIGHT);
                add(brick);
            }
        }               
    }
}
4

1 に答える 1

0
for (int i = 0; i < BRICKS_IN_BASE + (-h); i++)

本当に ((-h) は単に -1*h です)

for (int i = 0; i < (BRICKS_IN_BASE  - h); i++)

演算子の優先順位による

于 2013-08-03T04:31:09.930 に答える