Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Guten Tag zusammen
Ich muss für eine Aufgabe in der Schule ein Programm schreiben bei dem die Einträge eines beliebig langen Arrays so formatiert: [17,3,82,35] und ausgegeben wird.
Ich habe diesen Code geschrieben und jetzt aber das Problem dass er nicht komplett ausgeführt wird. Anscheinend überspringt das Programm die for-Schleife komplett und gibt danach natürlich nur [] aus. Auch die Testnachricht die ich in die for-Schleife eingebaut habe wird nicht ausgegeben. Weiss jemand an was das liegen könnte?
Gruss Sigmar
Code:
public class Str_3v2 {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
int[] arr = {10, 20, 30, 40};
for(int i = 0; i == 3; i++ ){
sb.append(arr[i]);
sb.append(",");
System.out.println("test");
}
System.out.print("Ausgabe ["+sb+"]");
}
}
Ich will hier keinen IDE-War anfangen, aber: Ich habe bisher alle IDEs ausprobiert und wenn du viel Hilfe/Inspections haben möchtest, dann nutze vielleicht besser IntelliJ IDEA statt NetBeans. Der hätte dir genau das hervorgehoben.
Ich will hier keinen IDE-War anfangen, aber: Ich habe bisher alle IDEs ausprobiert und wenn du viel Hilfe/Inspections haben möchtest, dann nutze vielleicht besser IntelliJ IDEA statt NetBeans. Der hätte dir genau das hervorgehoben.
Btw ich hab mein Programm nochmal erweitert sodass man die Länge des Arrays und die Werte nun individuell eingeben kann. Nun habe ich bei der letzten for-Schleife wieder das gleiche Problem obwohl ich es diesmal wie oben gemacht habe.
Code:
public class Str_3 {
@SuppressWarnings("empty-statement")
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
int i;
System.out.print("Geben sie die Länge des Arrays ein:");
int[] arr = new int[sc.nextInt()];
System.out.println(arr.length);
System.out.print("Geben sie die Zahlen des Arrays mit je einem Leerschlag dazwischen ein.");
for (i = 0; i <= arr.length; i++) {
arr[i] = sc.nextInt();
System.out.print(arr[i]);
}
for (i = 0; i <= arr.length; i++) {
sb.append(arr[i]);
sb.append(",");
System.out.println("test");
}
System.out.print("Ausgabe:[" + sb + "]");
}
}[CODE]
Nein, jetzt hast du ein anderes Problem: Jetzt geht deine Schleife bis einschliesslich der Länge des Arrays. Das geht so nicht, weil Arrays nur von 0 bis Länge-1 gehen. Verwende also nicht `<= arr.length` sondern `< arr.length`.
Vergleiche z.B. mit deinem ersten Beispiel: Arraylänge war 4 und du hast auf `<= 3` getestet.
Nein, jetzt hast du ein anderes Problem: Jetzt geht deine Schleife bis einschliesslich der Länge des Arrays. Das geht so nicht, weil Arrays nur von 0 bis Länge-1 gehen. Verwende also nicht `<= arr.length` sondern `< arr.length`.
Vergleiche z.B. mit deinem ersten Beispiel: Arraylänge war 4 und du hast auf `<= 3` getestet.