public static void print3(String text) {
for(int i = 0; i < 3; i++);
System.out.println("I love you!" + i);
Vadim
4 уровень
Почему не выводит строку "I love you!" 3 раза через цикл for?
Обсуждается
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Стас ПасинковSoftware Developer в ZipyMaster
6 ноября 2021, 21:56
потому что вы неправильно написали сам цикл.
если после for-а стоит точка с запятой - значит у такого цикла нет "тела", того, что он будет выполнять.
поэтому получается, ваш код выполняет пустой цикл фор, потом пытается вывести надпись на экран из следующей строки, но там используется какая-то i, о которой программа ничего не знает (потому что она существует только внутри фора, а снаружи фора ее как бы не существует) и поэтому компиляция падает с ошибкой.
к тому же, ваш метод print3() принимает в качестве аргумента строку text.
и вот ее и надо выводить на экран 3 раза. а не просто свой тест. это сделано для того, что если вам нужно напечатать строку "I love you!" три раза - вы ее просто передали в этот метод и все.
но если вам надо будет вдруг распечатать другую строку, например "Hello" тоже 3 раза - то если вы ее передадите в этот метод - он все-равно напечатает не вашу строку, которую вы передали в него, а снова же "I love you!". поэтому внутри метода print3() выводите на экран значение из переменной text. тогда этот метод у вас будет универсальным, и будет уметь печатать 3 раза любой текст, который вы в него передадите :)
0
Vadim
7 ноября 2021, 15:44
Спасибо за помощь!🤓
0
Грицуник Андрей
6 ноября 2021, 21:52
Из-за точки с запятой в конце первой строки. Тем самым, все тело цикла состоит лишь из одной первой строки. Будет ошибка компиляции. Так как вторая строка про переменную i ничего не знает. Ее жизнь слишком рано закончилась(на первой строке) :( Рекомендуют весь блок кода, который должен выполняться в цикле , заключать в фигурные скобки. Даже если это всего 1 строка кода.
+1
Vadim
7 ноября 2021, 15:45
Спасибо за помощь!🤓
0