почему высота и ширина при объявлении константы дает значение по умолчанию? - PullRequest
0 голосов
/ 02 октября 2018

Когда я использую height и width в качестве константы, мне было интересно, почему это дает мне значение 100?Это потому что size(); не было объявлено выше?Как мне установить размер холста?Потому что следующие отпечатки 100

Любая помощь будет делать !!

Вот копия моего кода:

final int SIZE = height;

void setup() {
 size (1000,1000);
 println(SIZE); 

}

Ответы [ 3 ]

0 голосов
/ 02 октября 2018

Для примитивных типов само значение сохраняется в переменной.Поэтому при вызове final int SIZE = height; SIZE будет иметь значение, которое height имело непосредственно перед этим назначением.Все последующие изменения height не затронут SIZE.

0 голосов
/ 02 октября 2018

См. Документацию по обработке для size () :

... Если size () не используется, окну будет присвоен размер по умолчанию 100 x 100пикселей.

и height:

... Значение высоты по умолчанию равно 100, если size () не используется вprogram.

Это означает, что пока не был вызван size(), значения для height и width инициализируются равными 100.

Если вы читали переменные раньше,когда вы сделаете это, они вернут 100.

Вы должны инициализировать SIZE после вызова size():

void setup() {
    size (1000,1000);
    SIZE = height;
}
0 голосов
/ 02 октября 2018

Переменные width и height устанавливаются при вызове функции size().Вы используете их вне функции, что означает, что они происходят до , вызывается функция size(), поэтому у них все еще есть значения по умолчанию.

Чтобы это исправить, вам нужно переместить инициализацию переменной так, чтобы после вызова size():

int SIZE;

void setup() {
 size (1000,1000);
 SIZE = height
 println(SIZE); 
}
...