Guten Tag miteinander,
bei der Bearbeitung eines Übungsblattes innerhalb der Programmierung in Java bin ich auf ein Problem gestoßen, wo ich mir ein wenig den Kopf zerstoße Die Aufgabe lautet wie folgt:
der Code lautet wie folgt:
Folgender Fehler tritt (ab und zu) auf:
Mir ist bewusst, dass es an dem zufällig generierter Wert liegt, nur komme ich nicht darauf, wie man dieses Problem lösen kann.
bei der Bearbeitung eines Übungsblattes innerhalb der Programmierung in Java bin ich auf ein Problem gestoßen, wo ich mir ein wenig den Kopf zerstoße Die Aufgabe lautet wie folgt:
" shuffle(): mischt den Inhalt des uebergebenen Arrays zufaellig. Gehen Sie zum Mischen wie folgt vor:
Lassen Sie in einer Schleife im i-ten Durchlauf einen zufaelligen Index aus dem Bereich (i-1) bis (letzte Position im Array) ziehen und tauschen sie die Inhalte des Arrays an dieser Position mit dem Inhalt
an der Position (i-1)."
der Code lautet wie folgt:
Code:
public static void shuffle(int a[]) //Fehlerhaft
{
Random r = new Random();
for(int i=1; i<=a.length;i++)
{
int wert = r.nextInt(a.length) + i-1;
int speicher = a[wert];
a[wert] = a[i-1];
a[i-1] = speicher;
System.out.println(a[wert] + "wird getauscht mit: " + a[i-1]);
}
}
Folgender Fehler tritt (ab und zu) auf:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
at IntArrayUtil.shuffle(IntArrayUtil.java:160)
at IntArrayUtil.main(IntArrayUtil.java:19)
Mir ist bewusst, dass es an dem zufällig generierter Wert liegt, nur komme ich nicht darauf, wie man dieses Problem lösen kann.