int x = 13;
while(x >= 4) {
if (x % 2 == 1) {
System.out.println(x);
}
x = x - 3;
}
Я знаю, что выход из этого, это 13 и 7, будет кто-то уход объяснить о том, как он пришел, чтобы быть 13 и 7.Хотя выходной код цикла
int x = 13;
while(x >= 4) {
if (x % 2 == 1) {
System.out.println(x);
}
x = x - 3;
}
Я знаю, что выход из этого, это 13 и 7, будет кто-то уход объяснить о том, как он пришел, чтобы быть 13 и 7.Хотя выходной код цикла
13 % 2 = 1
поэтому, Вы печатаете 13
. Сейчас x = 10
. 10 % 2 = 0
, поэтому вы не распечатываете 10
. x = 7
. 7 % 2 = 1
, поэтому вы печатаете 7. . 4 % 2 = 0
; Теперь x = 1
и петля останавливается.
Оператор %
является оператором modulo. Это отпечатывает остаток при делении двух чисел. Например, 14/3 = 4 remainder 2
, поэтому 13 % 4 = 2
.
Ahhhh, я вижу, это было довольно просто, спасибо, что ваш ответ примет как можно скорее. –
Первый х 13, является его> = тогда 4? Да. Введите цикл while. 13% 2 == 1. Да. Печать x (печать 13). Тогда x = x-13, x становится 10. Действительно, 10> = 4? Да. .... Скоро.
Что вы не понимаете?
На первой итерации x=13
, 13%2=1
поэтому он печатает 13
. Итерация секунд, x=10
(x=x-3
) 10%2=0
, ничего не печатается. Третья итерация x=7
(10-3
), 7%2=1
так 7 печатается.
После этого x = 4, поэтому ничего не печатается, и x=1
выходит из цикла.
Случай 1:
---> x = 13;
while(true) // 13 >= 4
if(true) // 13%2 = 1 which is 1==1 is true
then print x
reduce x by 3 // now x ==10
Случай 2:
---> x = 10;
while(true) // 10 > =4
if(false) // 10 % 2 = 0, 0 == 1 is false
skip
reduce x by 3// now x == 7
случай 3:
---> x =7;
while(true) // 7 > = 4
if(true) //7 % 2 ,1==1 is true
print x;
reduce x by 3 // x == 4
случай 4:
---> x =4;
while(true) // 4 > = 4
if(false) //4 % 2 ,0==1 is false
skip
reduce x by 3 // x == 4
случай 5:
---> x =1;
while(false) // 7 > = 4
skip
резюме Оператор:
**%** finds remainder
// Результат не определен, если операнд RHS является 0
**>=** greater than or equals
Вы знаете, что такое '%' средства? Это [оператор модуля] (http://mindprod.com/jgloss/modulus.html). Чтобы узнать, что делает программа, выполните шаги в своей голове и напишите на листе бумаги, что происходит на каждом этапе. – Jesper
что с этим не так, работает нормально, first it ';; проверьте на 13 и распечатайте его, затем на 10, а затем на 7 и распечатайте его, а затем на 4 –
Замените значение 13, 10 и т. д. для x. Теперь следуйте инструкциям и тем, что они печатают в вашем ноутбуке. – sakthisundar