Привет Я изучаю Java и нашел решение, которое довольно аккуратно, , но меня интересует определенная строка кода во втором цикле. я не знаю, к кому обратиться, потому что я не в школе для Java еще поэтому я спрашиваю здесь, , но все равно:Java вложен для цикла, увеличивающего второй цикл, первым для цикла?
for (int i = 0; i < BRICKS_IN_BASE + (-h); i++)
Означает ли это, что «повторить i
для этого количество раз» добавляется 'в' h
минус 1 '? Более конкретно, что такое (-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);
}
}
}
}
Может быть типа 'INT I = 1; System.out.println (1 + (-i)); 'на свой компьютер и посмотреть, что произойдет? –