-1
嗨,我正在学习Java,发现一个相当整洁的解决方案, 但我对第二个for循环中的特定代码行感兴趣。 我不知道是谁问,因为我在学校的Java我没有,所以我问这里, 但无论如何:Java嵌套for循环第一循环递增第二循环?
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));'进入你的电脑,看看会发生什么? –