Написала цикл for без { }, думала что он будет возвращать s2 при каждом прохождении цикла. То есть, если count = 3, то первый раз вернёт одну s2, второй раз две, третий - три и вместо трех s2 получу 6. Но нет, метод работает корректно, так как требуется в условии.
Я правильно понимаю что return "дожидается" когда закончится цикл?
public static String multiply(String text, int count) {
String s2 = "";
for(int y = 0; y<count; y++)
s2 = s2 + text;
return s2;
}
Kate
8 уровень
Почему этот метод работает корректно?
Обсуждается
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #598481
27 июля 2021, 12:28
Если бы return был в цикле, он бы выполнился.
Если return выполнится, то прервется весь метод, не важно в цикле это было или нет.
0
Дмитрий QA Automation Engineer в DINS
27 июля 2021, 11:21
"Если в цикле повторяется выполнение только одного оператора, то фигурные скобки можно опустить." Цитата из Java. Полное руководство. Шилдта. Т.е. все работает как и должно.
0
Павел Изгаршев
27 июля 2021, 10:35
return находится в теле цикла?
upd: понял, без скобок не совсем очевидно. Да, он дожидается окончания цикла и возвращает значение
0
hidden #2460969
27 июля 2021, 10:39
нет. потому что фигурных скобок нет
0