georg_willi
Cadet 4th Year
- Registriert
- Juli 2004
- Beiträge
- 110
hi, ich hab ein problem mit meinem javaprogramm. es soll zahlen, die in einem array zufällig generiert werden, mit dem quicksort-algorithmus sortieren. die größe des array soll der benutzer eingeben können. hier das, was ich habe:
wenn ich es nun ausführe, bekomme ich folgende fehlermeldung:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
at quick.main(quick.java:47)
10 war die zahl, die ich eingegeben habe. zeile 47 steht mein generator.
danke für die hilfe im voraus.
Code:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Random;
public class quick {
public static void quicksort(int l, int r, int zahl[])
{
int i=l;
int j=r;
int merke=0;
int mitte = zahl[(l+r)/2];
while (zahl[i]<mitte)
{
i++;
}
while(mitte <zahl[j])
{
j--;
}
if(i<=j)
{
merke=zahl[i];
zahl[i]=zahl[j];
zahl[j]=merke;
i++;
j--;
}
}
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
System.out.println("Bitte geben Sie die Größe des Arrays an!");
int n= Integer.parseInt(br.readLine());
//int mitte;
//int merke;
//int x=n;
Random generator= new Random();
int zahl[]= new int[n];
int l=0;
int r = zahl.length-1;
for (int a=0; a<n; a++)
{
zahl[n]= generator.nextInt(100);
System.out.println(": "+zahl[a]+a);
}
}
}
wenn ich es nun ausführe, bekomme ich folgende fehlermeldung:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
at quick.main(quick.java:47)
10 war die zahl, die ich eingegeben habe. zeile 47 steht mein generator.
danke für die hilfe im voraus.
Zuletzt bearbeitet von einem Moderator:
(Bitte den [code]-Tag verwenden!)