Задание из 5 главы книги Head Firs:Java
class MixFor5{
public static void main(String[]args){
int x=0;
int y=30;
for (int outer=0; outer<3; outer++){
for (int inner=4; inner>1; inner--){
x=x+3;
y=y-2;
if (x==6){
break;
}
x=x+3;
}
y=y-2;
}
System.out.println(x+" "+y);
}
}
ответ: 54 6
Объясните,если можно поэтапно,как получится в итоге 54 и 6?Никак не могу понять,как не считаю 54 6 не получается.
Внешний цикл повторяется 3 раза - для значений 0, 1 и 2 переменной outer.
Внутренний цикл повторяется для каждой из 3 итераций внешнего цикла максимально 3 раза - для значений 4, 3 и 2 переменной inner. Максимально потому что он может прекратится при условии x==6:
if (x==6){
break;
}
Но и теперь следуйте:
Первый переход внешним циклом, первый переход внутренним циклом:
x=x+3; // 0 + 3, результат: 3
y=y-2; // 30 - 2, результат: 28
if (x==6){
break;
}
x=x+3; // 3 + 3, результат: 6
Первый переход внешним циклом, второй переход внутренним циклом:
x=x+3; // 6 + 3, результат: 9
y=y-2; // 28 - 2, результат: 26
if (x==6){
break;
}
x=x+3; // 9 + 3, результат: 12
Первый переход внешним циклом, третий переход внутренним циклом:
x=x+3; // 12 + 3, результат: 15
y=y-2; // 26 - 2, результат: 24
if (x==6){
break;
}
x=x+3; // 15 + 3, результат: 18
Вы можете видеть, что x всегда увеличатся на 6 и y уменьшается на 2; это будет повторятся всего 9 раза (3 раза внутренний цикл во всяком из 3 внешних циклов; условие для break не встретится), и так как
int x=0; // первоначальные значение для x: 0
int y=30; // первоначальные значение для y: 30
Значит, конечные значения этих переменных бы могли быть
x = 0 + 9*6 // 54
y = 30 - 9*2 // 12
Но погодите: в конце внешнего цикла команда
y=y-2;
и эта команда выполнится 3 раза (3 переходы внешним циклом), также в конце концов переменная y еще уменьшится на 6 и ее значение будет не 12, а 6.
И точно эти значения переменных x и y ваша программа выведет.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости