Java о массиве объекта

Dog[] mydogs = new Dog[3]; 
int x = 0; 
if (x<3) { 
   mydogs[x] = new Dog();
   mydogs[x].size = 12;
   mydogs[x].bark(); //Yip Yip 
   x = x+1;
 }

void bark() { 
    if (size > 60) {
        System.out.println("Woof, Woof ");
    } else if (size > 14) {
        System.out.println("Ruff, Ruff "); 
    } else { 
       System.out.println("Yip, Yip ");
 }

Я получаю вывод «Yip Yip», но я думаю, что, поскольку ставится условие (x <3). тогда не следует ли его трижды печатать? лежать ниже

Ип, Ип

Ип, Ип

Ип, Ип

Замените if на while, чтобы зациклить

user7 31.05.2018 21:07

размер - это переменная экземпляра в классе Dog

Justin Snow 31.05.2018 21:07

Вместо этого используйте цикл while if.worked. а как объясните пожалуйста?

Justin Snow 31.05.2018 21:09

Прочтите о операторах if и while в java

user7 31.05.2018 21:12
if - это состояние, while - это петля.
zlakad 31.05.2018 21:13

Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что он относится к базовому синтаксису Java, который лучше изучать с помощью книг или руководств.

GhostCat 31.05.2018 21:29

Понятно. Оператор if проверяет, является ли выражение истинным или ложным, а затем запускает код внутри оператора, только если он истинен. Код внутри цикла запускается только один раз ... Оператор while - это цикл. По сути, он продолжает выполнять код в операторе while, пока выражение истинно.

Justin Snow 31.05.2018 21:35
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
5
7
39
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

if не вызывает выполнение условия в цикле. Для этого вам нужно использовать петлю.

while (x<3) { 
   //changes made to to mydogs[x] are irrelevant to the execution of the loop
   x = x+1;
}

Этот цикл будет выполняться непрерывно, пока условие x < 3 не перейдет в состояние false, что произойдет только после трехкратного выполнения x = x+1. до тех пор код внутри тела цикла будет выполняться повторно.

Другие вопросы по теме