Hallo alle miteinander!
Ich habe mich an einem Sorierungsalgrythmus versucht und habe als Anfänger nun ein Problem:
Die Konsole öffnet sich und ich kann die erste Zahl eingeben und dannach gibt die Konsole diese Hieroglyphen (zumindest in meinen Augen) aus:
Bitte geben Sie nun 5 Zahlen ein welche sie je mit dem drücken der Entertaste bestätigen.
Könnt ihr mir da irgentwie helfen? Ich habe schon gesehen, dass der Fehler wahrscheinlich bei "int b = datensatz[r];" liegt, jedoch habe ich noch keinen Weg gefunden ihn zu beheben. Unten findet ihr auch nochmal den kompletten Code.
Viele Grüße und bald einen schönen ersten Mai:
Ledex
Ich habe mich an einem Sorierungsalgrythmus versucht und habe als Anfänger nun ein Problem:
Die Konsole öffnet sich und ich kann die erste Zahl eingeben und dannach gibt die Konsole diese Hieroglyphen (zumindest in meinen Augen) aus:
Bitte geben Sie nun 5 Zahlen ein welche sie je mit dem drücken der Entertaste bestätigen.
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 at sortieren.main(sortieren.java:27)
C:\Users\Ledex\Desktop\Sortierung>Pause
Drücken Sie eine beliebige Taste . . .
C:\Users\Ledex\Desktop\Sortierung>Pause
Drücken Sie eine beliebige Taste . . .
Könnt ihr mir da irgentwie helfen? Ich habe schon gesehen, dass der Fehler wahrscheinlich bei "int b = datensatz[r];" liegt, jedoch habe ich noch keinen Weg gefunden ihn zu beheben. Unten findet ihr auch nochmal den kompletten Code.
Viele Grüße und bald einen schönen ersten Mai:
Ledex
Java:
public class sortieren
{
public static void main(String[] args)
{
int[] datensatz = new int[5];
System.out.println("Bitte geben Sie nun 5 Zahlen ein welche sie je mit dem drücken der Entertaste bestätigen.");
String s = javax.swing.JOptionPane.showInputDialog( "Bitte Zahl eingeben" );
datensatz[0] = Integer.parseInt(s);
datensatz[1] = Integer.parseInt(s);
datensatz[2] = Integer.parseInt(s);
datensatz[3] = Integer.parseInt(s);
datensatz[4] = Integer.parseInt(s);
//sort(datensatz,5);
int n = 5;
int[] sort = new int[n];
int x = 0;
int i = 0;
int r = 0;
for (i=1;i<n++;i++)
{
x = 0;
for (r=0;r<n++;r++)
{
int a = datensatz[i];
int b = datensatz[r];
if (a > b)
{
x++;
} // end of if
} // end of for
sort[x] = datensatz[i];
} // end of for
System.out.println(sort[0]);
System.out.println(sort[1]);
System.out.println(sort[2]);
System.out.println(sort[3]);
System.out.println(sort[4]);
}
Zuletzt bearbeitet: