Ich bin gerade dabei eine Übung aus dem Buch "Java von Kopf bis Fuß" zu lösen.
Hier geht es um das sotieren von Codeschnipseln um einen vorgegebenen Output zu bekommen.
Auf Anhieb konnte ich den richtige Output erzeugen.Ich verstehe auch so ungefähr was da passiert, finde aber eine Stelle unlogisch.
Desweiteren wurde im Buch die Lösung anders dargestellt, sodass ich mich frage, ob es bei meinem Weg sich vielleict nur um einen Glückstreffer handelt.
Hier meine Vorgehensweise:
[CODE lang="java" title="Meine Lösung" highlight="22"]class TestArrays {
public static void main(String[] args) {
String[] inseln = new String[4];
int[] index = new int[4];
inseln[0] = "Bermudas";
inseln[1] = "Fidschi";
inseln[2] = "Azoren";
inseln[3] = "Kuba";
index[0] = 1;
index[1] = 3;
index[2] = 0;
index[3] = 2;
int ref;
int y = 0;
while (y < 4) {
ref = index[y];
y = y + 1;
System.out.print("Insel = ");
System.out.println(inseln[ref]);
}
}
}[/CODE]
Ergebnis:
Hier bekomme ich das richtige Ergebnis obwohl ich eigentlich finde Zeile 22 "y = y + 1" ist hier falsch.
Meiner Meinung nach, müsste es nach dem Output kommen, weil er sonst den Index[0] überspringt.
Wieso wird Index[0] trotzdem berücksichtigt, wo ich doch eigentlich vor dem Sys.out schon bei y = 1 bin?
Liege ich vielleicht falsch und mein Weg ist trotzdem richtig?
Hier mal zum Vergleich die Lösung aus dem Buch:
[CODE lang="java" title="Lösung Buch"]class TestArrays {
public static void main(String[] args) {
int[] index = new int[4];
index[0] = 1;
index[1] = 3;
index[2] = 0;
index[3] = 2;
String[] inseln = new String[4];
inseln[0] = "Bermudas";
inseln[1] = "Fidschi";
inseln[2] = "Azoren";
inseln[3] = "Kuba";
int y = 0;
int ref;
while (y < 4) {
ref = index[y];
System.out.print("Insel = ");
System.out.println(inseln[ref]);
y = y + 1;
}
}
}[/CODE]
Hier geht es um das sotieren von Codeschnipseln um einen vorgegebenen Output zu bekommen.
Auf Anhieb konnte ich den richtige Output erzeugen.Ich verstehe auch so ungefähr was da passiert, finde aber eine Stelle unlogisch.
Desweiteren wurde im Buch die Lösung anders dargestellt, sodass ich mich frage, ob es bei meinem Weg sich vielleict nur um einen Glückstreffer handelt.
Hier meine Vorgehensweise:
[CODE lang="java" title="Meine Lösung" highlight="22"]class TestArrays {
public static void main(String[] args) {
String[] inseln = new String[4];
int[] index = new int[4];
inseln[0] = "Bermudas";
inseln[1] = "Fidschi";
inseln[2] = "Azoren";
inseln[3] = "Kuba";
index[0] = 1;
index[1] = 3;
index[2] = 0;
index[3] = 2;
int ref;
int y = 0;
while (y < 4) {
ref = index[y];
y = y + 1;
System.out.print("Insel = ");
System.out.println(inseln[ref]);
}
}
}[/CODE]
Ergebnis:
Hier bekomme ich das richtige Ergebnis obwohl ich eigentlich finde Zeile 22 "y = y + 1" ist hier falsch.
Meiner Meinung nach, müsste es nach dem Output kommen, weil er sonst den Index[0] überspringt.
Wieso wird Index[0] trotzdem berücksichtigt, wo ich doch eigentlich vor dem Sys.out schon bei y = 1 bin?
Liege ich vielleicht falsch und mein Weg ist trotzdem richtig?
Hier mal zum Vergleich die Lösung aus dem Buch:
[CODE lang="java" title="Lösung Buch"]class TestArrays {
public static void main(String[] args) {
int[] index = new int[4];
index[0] = 1;
index[1] = 3;
index[2] = 0;
index[3] = 2;
String[] inseln = new String[4];
inseln[0] = "Bermudas";
inseln[1] = "Fidschi";
inseln[2] = "Azoren";
inseln[3] = "Kuba";
int y = 0;
int ref;
while (y < 4) {
ref = index[y];
System.out.print("Insel = ");
System.out.println(inseln[ref]);
y = y + 1;
}
}
}[/CODE]