Jo so ähnlich hatte, ich das auch schon. Dieses hier sieht aber eleganter aus. Vielen dank
Beiträge von Boris
-
-
-
hhmmm das ist schon mal ein Hinweis. Wenn ich aber den Vergleich in die erste Schleife mit Einbinde würft er mir die erste Meldung aber nicht mehr mit aus(Die wieviele Zahlen eingegeben wurden etc.).
Wie kann ich das umgehen das er auf das 9 nicht vorhandene Element zugreift, was er ja auch nicht soll?
-
Hallo,
wie die Überschrift habe ich ein Problem mit einem Array (ich bin java Anfänger). Er hat eine fest vorgegebene Größe 8. Wenn die max Zahl eingegeben worden ist bricht er automatisch bei der achten Eingabe oder bei einer nicht Zahl Eingabe ab. Im Anschluß kommt eine Mitteilung wieviele Zahlen und welche eingelesen wurden. Soweit so gut. Bis dahin funktioniert alles das Progi meldet keine Fehler.
Nun will ich aber noch im Anschluß die einzelnen Eingaben überprüfen ob die einzelnen Zahlen sortiert eingegeben worden sind (boolean) oder nicht. Diese Ausgabe funktioniert aber nicht. Des Weitern wenn man 8 Zahlen eingibt gibt es die Fehlermeldung:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
at Test.main(Test.java:36)
Hier ist mal der Code:
Java
Alles anzeigenimport java.util.Arrays; public class Test { public static void main(String[] args) { java.util.Scanner s = new java.util.Scanner(System.in); //Anfangsmeldung System.out.print("\nBitte geben Sie Zahlen ein. " + "Sortiert oder unsortiert." + "\nEingabeende erfolgt durch nicht numerische Eingabe oder nach der Eingabe der 8. Zahl." + "\n"); double[] Zahleneingabe = new double[8]; boolean istSortiert = true; int index = 0; //Haupteil while (s.hasNextDouble()) { Zahleneingabe[index] = s.nextDouble(); index++; if (index >= 8) { break; } } //Auswerteteil System.out.println("\nEs wurde(n) " + index + " Zahl(en) eingegeben."); System.out.println("Die Zahlen die eingegeben wurden: " + Arrays.toString(Zahleneingabe)); // [B][COLOR=Black]Ab hier beginnt mein geschildertes Problem[/COLOR][/B] if (Zahleneingabe[index - 1] > Zahleneingabe[index]) { istSortiert = false; } if (istSortiert == true) { System.out.println("Aufsteigend sortiert!"); } else { System.out.println(" Nicht aufsteigend sortiert!"); } } }
Würde mich freuen, wenn es da einen gibt der mich auf meinen Fehler, den ich nicht sehe aufmerksam macht.