Cześć, wczoraj zabrałem się za książkę Rusz Głową z Java. Na stronie 52 jest tam zadanie pt. Magnesiki z kodem. Udało mi się je rozwiązać ale mam pytanie odnośnie kodu. Kiedy zapisuje kod w ten sposób:
class abcd {
public static void main(String[] args) {
int x = 3;
if (x > 2) {
System.out.print("a");
}
while (x > 0) {
System.out.print("-");
x = x - 1;
if (x == 1) {
System.out.print("d");
x = x - 1;}
if (x == 2) {
System.out.print("b c");
}
}
}
}
Dostaje wynik a-b c-d, co jest wynikiem przeze mnie oczekiwanym. Nie rozumiem natomiast, dlaczego przy zapisie:
class abcd {
public static void main(String[] args) {
int x = 3;
if (x > 2) {
System.out.print("a");
}
while (x > 0) {
System.out.print("-");
x = x - 1;
if (x == 2) {
System.out.print("b c");
if (x == 1) {
System.out.print("d");
x = x - 1;}
}
}
}
}
Wynik to a-b c--. Wiem, że pytanie jest prozaiczne ale proszę o odpowiedź, bo nie daje mi ono spokoju.