Wo ist mein Fehler (IndexOutOfBoundsException)?

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo Leute,

ich hab heute schon den ganzen Tag damit verbracht an einem Programm herum zubasteln [ich weiß sellten genau was ich tue ;-) ] doch leider bekomme ich immer wieder einen Fehler denn ich verflixt nochmal nicht finde bzw. von dem ich nicht weiß wieso er genau im Programm entsteht und deshalb kann ich schlecht was dagegen tun.

Ich hoffe ihr könnt mir dabei helfen und mir erklären wie ich diesen Fehler 'abstellen' kann.

Dazu hab ich kurzerhand mal das Programm soweit zusammen gekürzt das man es schneller überblicken kann. Der Fehler ist natürlich auch noch da irgendwo, denn ich erhalte immernoch das selbe Fehlerverhalten.

Letzteres äußert sich darin das das Prog. eigentlich funktioniert jedoch des öfteren besagte IndexOutOfBoundsException auftritt. Ich weiß das diese Ausnahme z.B. dann auftritt, wenn man bei einem Array einen Index verwendet der über dem größten selbigen Arrays liegt. Also z.B. bei
Code:
char letters[] = {'a','b'};
auf
Code:
...=letters[2];
zugreife da der Index halt nicht im Array existiert...
Aber ich verwende eigentlich gar keine Arrays in meinem Programm, sondern statt dessen LinkedList, was mich nun also wundert warum der Fehler auftritt.

Ich weiß es kostet relativ viel Zeit sich sowas anzugucken und nach der Nadel im Heuhaufen zu suchen, noch dazu wenn es nicht die eigene Nadel ist aber ich komme ohne Hilfe momentan nicht weiter und bitte euch inständig darum mir zu helfen und danke schon einmal allen die es zumindest versuchen.

Das Problem steck irgendwo hier drin:

Code:
import java.util.*; 

public class WhatsUp{

	public static void main (String[] args){

        LinkedList xValueList = new LinkedList();
        	xValueList.addLast(new Xvalue(1));
        	xValueList.addLast(new Xvalue(2));
        	xValueList.addLast(new Xvalue(3));
        	xValueList.addLast(new Xvalue(4));
			xValueList.addLast(new Xvalue(5));                
        	xValueList.addLast(new Xvalue(6));

		printList(xValueList, "Sortierte Liste");
		
		LinkedList mixedXvalueList = new LinkedList();
		mixedXvalueList = mixList(xValueList);                        //<----Fehlerzeile 18 laut Ausgabe
		
		printList(mixedXvalueList, "ungeordnete Liste");
	}

	
	public static LinkedList mixList(LinkedList parList){
		LinkedList	unsortedList = new LinkedList();
		LinkedList	sortedList	 = parList;
		Object		ListObject	 = new Object();
		int			randInt; 
		int 		sortedListSize;
		
		while (sortedList.isEmpty()==false){
			sortedListSize = sortedList.size();
			randInt		   = RandTools.randInt(0,sortedListSize);
			ListObject	   = (Object)sortedList.remove(randInt);                    //<--Fehlerzeile 34 
			unsortedList.addLast(ListObject);
		}
		return unsortedList;
	}
	

	public static void printList(LinkedList parList, String parListName){
		int listSize = parList.size();
		Xvalue helpVal;
		System.out.println(parListName+" mit "+listSize+" Elementen in folgender Reihenfolge:");
		
		for (int x=0; x<listSize; x++){
			helpVal = (Xvalue) parList.get(x);
			System.out.println(helpVal.getX());
		}
	}
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//	Ausschnitt der einzigen benutzten Methode aus eigener RandTools Klasse	
//____________________________________________________________________________	

class RandTools{	
	public static int randInt(int parMinVal, int parMaxVal){
		int minValue = parMinVal;
		int maxValue = parMaxVal; 
		int modValue = (maxValue-minValue+1);
		int result;
	 
		Random rand = new Random(System.currentTimeMillis());
	
		result = Math.abs(rand.nextInt()%modValue);
		result = result+minValue;
	
		return result;
	}
}
	
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//	Klasse Xvalue	
//____________________________________________________________________________	
class Xvalue	{
   	private int x;
   
   	//Konstruktor:
   	Xvalue(int xValue){
       	setValue(xValue);
   	}
   	
	public void setValue(int xValue){
       	x = xValue;
    }	
 
    public int getX()
   	{
       	return x;
   	}
}

Das Programm soll im Grunde nur die Reihenfolge der Elemente eine beliebige LinkedList in kräftig in Unordnung brigen.
Zu Testzwecken hab ich dann mal die main-Methode integriert.
In der erzeuge ich eine LinkedList und füge ihr 6 Elemente bestehend aus Objekten der Klasse Xvalue (ganz unten zu finden) hinzu. Anschließend gebe ich die Liste zur 'Visualisierung' mit der dafür geschriebenen Methode printList() aus. Das Ergebniss ist sieht so aus:

Code:
		   		Sortierte Liste mit 6 Elementen in folgender Reihenfolge:
		   		1
		   		2
		   		3
		   		4
		   		5
		   		6

Jetzt möchte ich die Reihenfolge der Elemente in der erstellten Liste durcheinander bringen, dazu dient die Methode mixList(LinkedList). Doch irgendwo da muss ein Fehler sein, denn ich nicht finde denn gelegentlich klappt dieses Vorhaben nicht und die Ausgabe sieht anstatt so...:

Code:
		   		ungeordnete Liste mit 6 Elementen in folgender Reihenfolge:
		   		4
		   		1
		   		5
		   		6
		   		2
		   		3

...machmal so aus:

Code:
		   	 java.lang.IndexOutOfBoundsException: Index: 5, Size: 5
		   	 	at java.util.LinkedList.entry(LinkedList.java:360)
		   	 	at java.util.LinkedList.remove(LinkedList.java:350)
		   	 	at WhatsUp.mixList(WhatsUp.java:34)
		   	 	at WhatsUp.main(WhatsUp.java:18)
		   	 Exception in thread "main"

Was kann ich da tun?

PS: In meinem Browserfenster sieht die Zeilenanzeige beim Code-Text ein bischen ungenau, will heißen falsch aus.
In meinem Programmiertool sind die Zeilen 18 und 34 die Folgenden:

Code:
mixedXvalueList = mixList(xValueList);
Code:
ListObject	   = (Object)sortedList.remove(randInt);
 

Krabat

Bekanntes Mitglied
ich bin mir da zwar nicht sicher, aber fehlt da nicht ein new?

Code:
mixedXvalueList = new mixList(xValueList);                        //<----Fehlerzeile 18 laut Ausgabe
 

meez

Top Contributor
Krabat hat gesagt.:
ich bin mir da zwar nicht sicher, aber fehlt da nicht ein new?

Code:
mixedXvalueList = new mixList(xValueList);                        //<----Fehlerzeile 18 laut Ausgabe

Das ist eine Methode...;)


Ich kenne deine Klasse RandTools nicht, aber sind das nicht maximal 7 mögliche Werte, wenn sortedList 6 Eintraege hat??

Code:
randInt = RandTools.randInt(0,sortedListSize -1 );
 
G

Gast

Gast
Ja, leider kann ich keinen Smile machen der einen Bildschirm bedeckt aber ungefähr so seh ich jetzt aus meez! :)

Ich danke dir vielmals, dein analytischer Verstand scheint mein Problem und damit den Knoten in meinem Kopf gelöst zu haben.

Manchmal sieht man halt dem Wald vor lauter Bäumen nicht...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Mein Programm hat Fehler Java Basics - Anfänger-Themen 4
S Brauche hilfe in Java [Fehler in mein Code]? Java Basics - Anfänger-Themen 2
G Input/Output Wo liegt mein Fehler? Java Basics - Anfänger-Themen 4
G Variablen Was ist mein Fehler? Java Basics - Anfänger-Themen 2
W Compiler-Fehler Fehler - <identifier> expected, wo liegt mein Fehler? Java Basics - Anfänger-Themen 4
J Wo liegt nur an dieser einfachen Bedingung mein Fehler? Java Basics - Anfänger-Themen 8
J Methoden Wo ist mein Fehler ?! Java Basics - Anfänger-Themen 9
C Boolsche Ausdrücke - Wo ist mein Fehler? Java Basics - Anfänger-Themen 14
S GaussJordan in Java, wo liegt mein Fehler? Java Basics - Anfänger-Themen 4
S Wo ist mein Fehler? Java Basics - Anfänger-Themen 2
W ArrayListe , Wo ist mein Fehler? Java Basics - Anfänger-Themen 6
Screen Scanner Arrays wo liegt mein Fehler? Java Basics - Anfänger-Themen 11
F.S.WhiTeY Java RegEx Will nicht so wie ich will. Wo ist mein fehler ? Java Basics - Anfänger-Themen 3
I String, Split, match, wo liegt mein Fehler ? Java Basics - Anfänger-Themen 4
I Hilfe wer findet mein Fehler in bei der Endlosschleife Java Basics - Anfänger-Themen 7
S Array bleibt leer, wo liegt mein Fehler? Verzeichnisinhalt s Java Basics - Anfänger-Themen 8
M wenn ich wüsste, was mein fehler ist. Java Basics - Anfänger-Themen 2
S Wo ist mein Fehler? Java Basics - Anfänger-Themen 3
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
J Layout Manager, welcher ist der Richtige für mein Program? Java Basics - Anfänger-Themen 1
dennis_lnz Klassen Wie kann ich mein Java Textadventure verbessern, um ein Klassendiagramm zu erstellen? Java Basics - Anfänger-Themen 9
J Größter gemeinsamer Teiler: mein Code Java Basics - Anfänger-Themen 6
J Mein Programm läuft bei der ersten Eingabe nicht mehr weiter, woran liegt das? Java Basics - Anfänger-Themen 6
J Mein Java Programm lässt sich nicht mehr bearbeiten Java Basics - Anfänger-Themen 2
I Methoden Wieso wird mein Array "a" verändert und meine Variable "a" nicht? Java Basics - Anfänger-Themen 4
Alen123 Warum funktioniert mein Code nicht? Java Basics - Anfänger-Themen 64
sserio Wieso funktioniert mein Programm nicht Java Basics - Anfänger-Themen 2
sserio Wieso funktioniert mein TableView nicht /JavaFX. Java Basics - Anfänger-Themen 4
M Mein quellcode wird nicht in der Konsole ausgegeben Java Basics - Anfänger-Themen 3
J Nach dem Exportieren funktioniert mein Programm nicht mehr Java Basics - Anfänger-Themen 8
P Mein Programm wird zwar erfolgreich Compiliert, öffnet sich aber nicht Java Basics - Anfänger-Themen 6
W Wie ziehe ich von einer bestimmten Zahl, Zahlen ab, bis mein Ergebnis null beträgt? Java Basics - Anfänger-Themen 10
J Kann ich mein Programm so schreiben? Java Basics - Anfänger-Themen 4
S Mein erstes eigenes Projekt - Aufbau und Strukturierung Java Basics - Anfänger-Themen 6
A Java die richtige Programmiersprache für mein Projekt? Java Basics - Anfänger-Themen 1
S Wie ende ich mein Pogrammierung? [Hilfe] Java Basics - Anfänger-Themen 1
R Mein Plugin funktioniert nicht? Java Basics - Anfänger-Themen 10
J Mein Programm beendet sich ohne mein Zutun Java Basics - Anfänger-Themen 9
A Eine Krone in der Textausgabe - Mein Code Java Basics - Anfänger-Themen 11
M Warum berechnet mein Primzahlenprog zu hohe Zahlen nicht? Java Basics - Anfänger-Themen 20
M OOP Mein erstes Textadventure... Java Basics - Anfänger-Themen 3
G Mein Java Projekt funktioniert nicht Java Basics - Anfänger-Themen 5
W Wieso funktioniert mein Switch Case nicht ?! Java Basics - Anfänger-Themen 9
L Mein Taschenrechner lässt sich plötzlich nicht mehr öffnen Java Basics - Anfänger-Themen 5
x-tshainge Mein Programm lässt sich nicht Starten Java Basics - Anfänger-Themen 8
W Warum läuft mein Programm nicht? Java Basics - Anfänger-Themen 14
W Warum funktioniert mein Programm nicht ? Java Basics - Anfänger-Themen 12
W Warum funktioniert mein Programm nicht ? Java Basics - Anfänger-Themen 6
W Ist mein Struktogram richtig erstellt worden? Java Basics - Anfänger-Themen 4
W Erste Schritte Warum funktioniert mein Programm nicht ? ~if Anweisung~ Java Basics - Anfänger-Themen 4
A Erste Schritte Mein Programm erkennt die variable EinAus.readInt nicht Java Basics - Anfänger-Themen 15
N Warum terminiert mein Programm nicht? Java Basics - Anfänger-Themen 13
G Wie kann ich mein Quellcode als Programm vom desktop starten? Java Basics - Anfänger-Themen 1
P Wie kann ich mein Programm zu einer App umwandeln? Java Basics - Anfänger-Themen 4
M Mein erstes Programm Java Basics - Anfänger-Themen 3
A Mein 1x1 Programm funktioniert nicht? Java Basics - Anfänger-Themen 2
C Warum funktioniert mein If Statement nicht richtig? Java Basics - Anfänger-Themen 18
B Drucken: Default Paper von Drucker? Mein Drucker druckt falsch Java Basics - Anfänger-Themen 3
stylegangsta Input/Output Hat eclipse eine Macke oder mein Code Array Datei einlesen Java Basics - Anfänger-Themen 5
M Mein erstes Java Programm Java Basics - Anfänger-Themen 5
S Wieso wird mein JFrame transparent dargestellt? Java Basics - Anfänger-Themen 5
N mein RegEx Java Basics - Anfänger-Themen 2
N Mein Bubblesort sortiert mein Array nicht Java Basics - Anfänger-Themen 2
W Wie hat mein Lehrer das gemacht. Java Basics - Anfänger-Themen 2
Z Klassen Warum wird mein Objekt nicht erkannt? Java Basics - Anfänger-Themen 2
J Erste Schritte Zweithöchster Wert eines Arrays herausfinden - warum klappt mein Code nicht? Java Basics - Anfänger-Themen 3
A Wie kann ich mein Programm noch effizienter machen? Java Basics - Anfänger-Themen 1
C Mein Video zu Java Grundlagen Java Basics - Anfänger-Themen 8
T Eclipse kennt mein Button nicht... Java Basics - Anfänger-Themen 5
E Mein eigener Listener (Hilfe gesucht) Java Basics - Anfänger-Themen 2
D Brauche Hilfe für mein übungsprogramm Java Basics - Anfänger-Themen 16
T Mein String in ein JLabel stecken Java Basics - Anfänger-Themen 2
T mein erstes Java projekt Java Basics - Anfänger-Themen 8
H Kann ich mein Programm vereinfachen? Java Basics - Anfänger-Themen 3
1 Mein erstes Programm, HELP!! Java Basics - Anfänger-Themen 2
R .txt in mein Javaprogramm hineinschmelzen Java Basics - Anfänger-Themen 6
T OOP Mein erstes Java-Spiel - Schiffe versenken! Java Basics - Anfänger-Themen 2
E Mein erstes Java Projekt - Sauberer code? Java Basics - Anfänger-Themen 28
S Mein Code is unübersichtlich - besseren Stil Java Basics - Anfänger-Themen 6
D Mein erstes Programm flackert Java Basics - Anfänger-Themen 5
H Ich kann mein Java Programm Test.class nicht ausführen Java Basics - Anfänger-Themen 6
H Probleme mein Ausführen der .class (Ubuntu JDK6) Java Basics - Anfänger-Themen 2
M Mein TableEvent problem Java Basics - Anfänger-Themen 3
propra Wie mache ich einem JPanel mein bereits instanziertes Model bekannt Java Basics - Anfänger-Themen 9
M Warum wird mein Icon bei den JTree Nodes nicht angezeigt? Java Basics - Anfänger-Themen 7
K Mein Programm... Heute: Settings-Datei in .jar speichern und auslesen Java Basics - Anfänger-Themen 9
M Kann mein Java Programm nicht starten Java Basics - Anfänger-Themen 6
V Mein erster Konstruktor Java Basics - Anfänger-Themen 3
B Methoden Mein erstes Programm - und gleich Probleme Java Basics - Anfänger-Themen 6
O Warum terminiert mein Programm nicht!? Java Basics - Anfänger-Themen 15
U2nt Mein Chat Java Basics - Anfänger-Themen 10
M Sammlung von Anfängerfragen für mein erstes Programm Java Basics - Anfänger-Themen 15
I OOP This-Referenzs > wo liegt mein Denkfehler? Java Basics - Anfänger-Themen 24
L Hashtable nicht wirklich geeignet für mein Vorhaben? Java Basics - Anfänger-Themen 3
H wie bekomm ich ein Foto in mein Programm rein? Java Basics - Anfänger-Themen 8
M Mein Externes Programm startet nicht Java Basics - Anfänger-Themen 13
M Timer unterbrechen? Wo ist mein Thread? Java Basics - Anfänger-Themen 2
S wieso ist mein Code falsch? Java Basics - Anfänger-Themen 2
S Mein Computer kennt "javac" und "java" nicht mehr! Java Basics - Anfänger-Themen 6
B XML? Für Uhrzeit und Datum für mein HP? Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben