public class Solution {
public static void main(String[] args) {
System.out.print(cicle(1) + " ");
System.out.println("");
System.out.print(cicle(2) + " ");
System.out.println("");
System.out.print(cicle(3) + " ");
System.out.println("");
System.out.print(cicle(4) + " ");
System.out.println("");
System.out.print(cicle(5) + " ");
System.out.println("");
System.out.print(cicle(6) + " ");
System.out.println("");
System.out.print(cicle(7) + " ");
System.out.println("");
System.out.print(cicle(8) + " ");
System.out.println("");
System.out.print(cicle(9) + " ");
System.out.println("");
System.out.print(cicle(10) + " ");
}
public static int cicle(int b) {
int a;
for (a = 1; a <= 10; a++) {
b = b * a;
return b;
}
}
}
Финат
5 уровень
Помогите плиз. Почему он здесь просит return?
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Eduard Lugovtsov
21 июля 2019, 16:41
Слишком много лишних строк. Старайся упрощать свой код, иначе будешь сильно путаться. Если хочешь посмотреть короткий вариант решения, то прилагаю его ниже
0
Anonymous #1384518Expert
20 июля 2019, 16:47
Компилятор не знает о логике внутри блока фор, по умолчанию он считает что условие a<=10 всегда false, поэтому return не произойдёт.
Следовательно для компилятора нужен дополнительно return снаружи, на тот случай, если вдруг "что-то пойдет не по плану".
Вообще на будущее запомни, любые участки, подразумевающее сравнение, для компилятора всегда false.
0