Я занимаюсь этими бесплатными онлайн-уроками Стэнфорда и изучаю Java. Я застрял на чем-то и не смог понять это. Я думаю, что должно быть что-то не так с моей логикой. Пожалуйста, проверьте код ниже. Я прокомментировал это, так что, надеюсь, вы сможете понять, что я пытаюсь сделать там.
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 = 14;
/** The Width of the Base in px */
double baseInPx = BRICKS_IN_BASE * BRICK_WIDTH;
/** Taking the width of the window minus the width of the base and dividing by two
* to find the x axis starting point)
*/
double firstBrick = (getWidth() - baseInPx) / 2;
/* giving the y axis a variable name */
double baseHeight = getHeight();
public void run() {
add(new GRect(firstBrick,baseHeight,BRICK_WIDTH, BRICK_HEIGHT));
}
}
Я думаю, что, должно быть, что-то не так в моем форматировании в этой строке:
double firstBrick = (getWidth() - baseInPx) / 2;
Проблема в том, что моя переменная по оси x не работает. Если я жестко закодирую число там, появится прямоугольник, но не с firstBrick
Спасибо за вашу помощь!
РЕДАКТИРОВАТЬ: Спасибо всем за вашу помощь! Практически каждый из вас был прав. Я только что чему-то научился!