stackoverflow fehler

Status
Nicht offen für weitere Antworten.
Y

yerk

Gast
h. bekomm bei meinem prog nen stackoverflow fehler und ich weiss nciht wie ich den abstellen soll.

hier mal meine add methode wo der fehler ausgelöst wird

Code:
public class MyHashMap<E,F>{
	private E value1;
	private F value2;
	private MyHashMap<E,F> next;
	
	/*Prüft, ob HashMap leer ist*/
	public boolean isEmpty(){
		return value1 == null && value2 == null;
	}

	/*Fügt Element in die HashMap ein*/
	public void add(E value1, F value2){
		if(isEmpty()){
			this.value1 = value1;
			this.value2 = value2;
			next = new MyHashMap<E,F>();
		}
		else
			next.add(value1,value2);
	}

next.add(value1,value2); die zeile wird mir als fehler angezeigt..

klar ist mir das die methode unendlich oft aufgerufen wird allerdings weiß ich nciht genua was ich für ne if bedingung einbauen soll damit sie sich nicht unendlich mal aufruft...
 

Illuvatar

Top Contributor
Also in dem Code ist kein Fehler. Wie verwendest du den denn? Ich hab eben zum Test gemacht:
Code:
     MyHashMap<String,String> h = new MyHashMap<String,String>();
     h.add ("Hello", "World");
     h.add ("Another", "Entry");
und es funktioniert.
 
Y

yerk

Gast
also ich lesen aus einem txt file ein da sieht mein code so aus:

Code:
public class ReadLog {
	
	public MyHashMap<String, String> log = new MyHashMap<String, String>();
	
	/*Liest Log aus, und speichert Inhalt in eine HashMap*/
	public MyHashMap<String, String> readLog(MyHashMap<String, String> log, String path){
		try{
			BufferedReader in = new BufferedReader(new FileReader(path));
			String s;
				while((s = in.readLine())!= null)
					log.add(s.substring(0,13), s.substring(18));

						
					
						
				in.close();
		}catch(FileNotFoundException e){
			System.err.println("Datei nicht gefunden!");
			}catch(IOException e){
				System.err.println("Fehler!");
			}
			return log;
	}

und das sind meine knoten die in einer extra classe liegen

Code:
public class MyHash<E,F> {
	E var1;
	F var2;
	
	public MyHash(E var1, F var2){
		this.var1 = var1;
		this.var2 = var2;
	}
}

in der main rufe ich dann einfach
Code:
public class Main {
	
	public static void main(String[] args) {
		ReadLog log = new ReadLog();
		
		log.readLog(log.log, "C:/Users/eld/Eigene Dateien/workspace/AD/src/a11/AD_weblog.log");
		
		log.print(log.log);

auf
 
G

Guest

Gast
also ich hab noch mal bissl getestet und zwar muss es an der add methode liegen. bei vielen werten läuft sich die methode tot.
weil er bei jedem element dass er einfügen will immer iweder ganz vorne in der liste anfängt und dann solange durch geht bis ein platz am ende frei ist.

und bei nächsten wert wieder ganz vorne anfängt. kann man das irgendwie hinbekommen das er nicht vorne wieder anfängt?

jemand da ne idee?
 
S

SlaterB

Gast
eine Rekursion ist da wirklich sinnlos,
wenn dann mach ne Schleife:

X run = ..;
while(noch ein next möglich) {
run = run.next();
}

aber auch diesen unnötigen Durchlauf kannst du dir sparen, wenn du dir das letzte Element der Liste irgendwo merkst,
am besten in einem übergeordneten Gesamt-Objekt,
das ganze ist bisher übrigens eine verkettete Liste, keine Map?!
 

xysawq

Bekanntes Mitglied
also dass du einen stackoverflow bekommst ist ziehmlich klar denke ich, weil:
Code:
next.add(value1,value2);
aufgerufen wird und:
Code:
private MyHashMap<E,F> next;

das heißt, wenn next noch leer ist, wird eine neue MyHashMap in next erzeugt.
sobald das nächste mal add aufgerufen wird ist next nicht leer, also ruft die funktion add sich selber auf.

das macht sie dann solange, bis es einen stackoverflow gibt.
 
S

SlaterB

Gast
?
was willst du damit sagen,
dass am Ende der Liste bei Bedarf ein neues Element erzeugt wird ist doch ne sinnvolle Sache?

nur ist es unnötig, für jedes Listenelement eine aufwändige Rekursionsstufe aufzubauen,
wenn eine Schleife auch geht

> also ruft die funktion add sich selber auf.

ähm ja, sonst stände der Aufruf von add nicht in add selber drin,
das ist gewollt
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G StackOverflow Fehler Java Basics - Anfänger-Themen 3
C StackOverflow bei Rekursion Java Basics - Anfänger-Themen 7
K MergeSort Stackoverflow Java Basics - Anfänger-Themen 5
P Compiler-Fehler StackOverFlow Java Basics - Anfänger-Themen 4
C Klassen StackOverflow bei erster Nutzung von Klassen/Konstruktoren Java Basics - Anfänger-Themen 9
M StackOverflow Problem Java Basics - Anfänger-Themen 9
F Stackoverflow bei Quicksort Java Basics - Anfänger-Themen 2
L StackOverFlow, finde Grund nicht! Java Basics - Anfänger-Themen 5
O StackOverflow für Eingabewerte berechnen Java Basics - Anfänger-Themen 3
J Stackoverflow-Abbruchbedingung Java Basics - Anfänger-Themen 7
G Stackoverflow! Java Basics - Anfänger-Themen 14
S Stackoverflow Error Java Basics - Anfänger-Themen 5
G Parser liefert StackOverflow error Java Basics - Anfänger-Themen 6
C StackOverflow Error, objekte öfters erzeugen Java Basics - Anfänger-Themen 6
M StackOverFlow bei JOptionPane? Java Basics - Anfänger-Themen 23
H Löschen in einem binären Baum führt zu einem StackOverflow Java Basics - Anfänger-Themen 2
P StackOverFlow - SocketTimeoutException Java Basics - Anfänger-Themen 12
frau-u StackOverflow - woher kommt es? Java Basics - Anfänger-Themen 7
richis-fragen FileChannel (inChannel/outChanel) Fehler wenn Leerzeichen enthalten Java Basics - Anfänger-Themen 17
F Kann mir jemand bei dem Fehler helfen? Java Basics - Anfänger-Themen 6
Juelin jedit Fehler beim starten Java Basics - Anfänger-Themen 2
I Frage Thymeleaf -> Fehler ignorieren und mit "" ersetzen? Java Basics - Anfänger-Themen 15
E Matrizenmultiplikation Fehler Java Basics - Anfänger-Themen 0
Z Fehler Zeiterfassungsprogramm Anzeige Java Basics - Anfänger-Themen 3
C SwingWorker mit Fehler Java Basics - Anfänger-Themen 2
monsterherz Fehler Semikolon fehlt - ich weiss aber nicht wo da noch eines hin sollte... Java Basics - Anfänger-Themen 21
G Compiler-Fehler Fehler in Zeile 1 beheben, wie? Java Basics - Anfänger-Themen 9
W Fehler in der Datei pom.xml Java Basics - Anfänger-Themen 19
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
monsterherz einfache Methode mit Fehler den ich nicht finde Java Basics - Anfänger-Themen 21
monsterherz if / else if mit Fehler den ich leider nicht finde Java Basics - Anfänger-Themen 11
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
ohneInformatik; Dynamische Zinsen. Wo liegt der Fehler? Java Basics - Anfänger-Themen 4
Fiedelbambu deriveFont Fehler wer kann Helfen? Java Basics - Anfänger-Themen 4
I Ical4j / Kalender einlesen von URL - Fehler: "Unparseable date" Java Basics - Anfänger-Themen 16
Lion.King Fehler in double und int Java Basics - Anfänger-Themen 7
H BlueJ: was genau ist hier der Fehler? Java Basics - Anfänger-Themen 14
berserkerdq2 Habe ein Spiel entwickelt, dass immer in der 4 Runde einen cast-Fehler erhält Java Basics - Anfänger-Themen 3
D Datentypen LocalDate.parse() ergibt Fehler Java Basics - Anfänger-Themen 5
stormyark Fehler beim überschreiben einer Variable Java Basics - Anfänger-Themen 1
T String Array Fehler beim Index Java Basics - Anfänger-Themen 3
N Fehler "Cannot instantiate the type" Java Basics - Anfänger-Themen 3
L Ich weis nicht was der Fehler ist! Java Basics - Anfänger-Themen 14
L30nS JNI Fehler, JRE und JDK Java Basics - Anfänger-Themen 8
E Executable jar file fehler Java Basics - Anfänger-Themen 9
S Fehler beim Programm Java Basics - Anfänger-Themen 2
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
J Syntax-Fehler? Java Basics - Anfänger-Themen 2
Jose05 Fehler im Programm feststellen Java Basics - Anfänger-Themen 2
S Methoden 2 non-static Methoden, trotzdem Fehler "non static method can not be referenced from a static context" Java Basics - Anfänger-Themen 9
G Taschenrechner ergibt Fehler in if-Abfrage Java Basics - Anfänger-Themen 6
I Fehler bei for-Schleife Java Basics - Anfänger-Themen 6
lol5443 Tic Tac Toe Fehler Java Basics - Anfänger-Themen 5
K Fehler bei der Implementierung Java Basics - Anfänger-Themen 6
N Fehler im Code (Aufgabe für Anfänger) Java Basics - Anfänger-Themen 11
W Verschachtelte If-else --> finde meinen Fehler nicht Java Basics - Anfänger-Themen 30
J Fehler bei array aus anderer Klasse Java Basics - Anfänger-Themen 3
H Fehler bei integer Division Java Basics - Anfänger-Themen 28
C Fehler beim erstellen eines Objektes Java Basics - Anfänger-Themen 3
N Was bedeutet dieser Fehler Java Basics - Anfänger-Themen 2
fuerteb Compiler-Fehler Methode wird nicht bzw. als Fehler erkannt Java Basics - Anfänger-Themen 4
Lion.King Fehler Java Basics - Anfänger-Themen 5
AlexG. Nullpointer exeption Fehler Java Basics - Anfänger-Themen 0
C Fehler im Code Java Basics - Anfänger-Themen 10
J Anfänger, Fehler; "Der Hund liegt begraben" Java Basics - Anfänger-Themen 3
Aqtox Hallo ich muss für die Schule ein Wuerfell Duell erstellen jedoch habe ich ein fehler Java Basics - Anfänger-Themen 4
V Wer findet den Fehler :) Java Basics - Anfänger-Themen 12
B ArrayIndexOutOfBoundsException, ich finde den Fehler nicht? Java Basics - Anfänger-Themen 10
A Compiler Fehler - not a statement Java Basics - Anfänger-Themen 2
Arita welche Fehler gibt es noch? wie kann ich es noch vervollständigen Java Basics - Anfänger-Themen 15
S Fehler bei Code mit SubStrings für mich nicht auffindbar. Java Basics - Anfänger-Themen 4
S Kriege Fehler "Exception in thread" beim Benutzen von SubStrings. Java Basics - Anfänger-Themen 2
H Logik Fehler erkennen Java Basics - Anfänger-Themen 21
T Fehler in Caesar-Chiffre Java Basics - Anfänger-Themen 7
R Fehlermeldung aber WO liegt der Fehler? Java Basics - Anfänger-Themen 7
B Nicht reproduzierbarer Fehler bei Kompilierung - Shortcut "Bereinigung" Compiler ? Java Basics - Anfänger-Themen 4
Nerdinfekt BMI Rechner, fehler beim Zurückgeben des Strings? Java Basics - Anfänger-Themen 2
pumpgun99 Fehler Meldung "else without if" Java Basics - Anfänger-Themen 3
P Was bedeutet dieser Fehler? Java Basics - Anfänger-Themen 31
KogoroMori21 Java Datum Differenz (kleiner Fehler) Java Basics - Anfänger-Themen 10
N java.util.InputMismatchException Fehler Java Scanner Java Basics - Anfänger-Themen 5
H Fehler: NullPointerException und ich weiß net warum Java Basics - Anfänger-Themen 4
R Ich sehe meinen fehler nicht Java Basics - Anfänger-Themen 8
Johannes_ece Fehler: Application Terminated (TypeError): var$0.$moveToolTo is not a function Java Basics - Anfänger-Themen 4
GermanPie Fehler in Putty (kein Hauptmanifestattribut, in jar) Java Basics - Anfänger-Themen 4
M Scannen von *.txt - Dateien; wo sind der oder die Fehler? Java Basics - Anfänger-Themen 4
P Methoden aufrufen - Fehler Java Basics - Anfänger-Themen 20
JavaClap "Bruchrechner" liefert Fehler/keine Ausgabe bei Addition und Subtraktion Java Basics - Anfänger-Themen 0
B if Clause Fehler Java Basics - Anfänger-Themen 2
G Fibonacci Zahlenreihe Fehler Java Basics - Anfänger-Themen 4
A Fehler beim Ausführen einer class Datei Java Basics - Anfänger-Themen 6
B Fehler, aber ich weiß nicht warum Java Basics - Anfänger-Themen 3
C system cannot be resolved Fehler in Eclipse Java Basics - Anfänger-Themen 18
J Fehler im Code, aber ich weiß nicht wieso! Java Basics - Anfänger-Themen 6
M Compiler-Fehler Fehler beim Ausführen des Codes Java Basics - Anfänger-Themen 25
M While-Schleifen-Fehler Java Basics - Anfänger-Themen 4
N Fehler bei JUnit Test Java Basics - Anfänger-Themen 5
C Projekte in 2 versch. Arbeitsbereichen: auf ein Projekt verweisen (ohne Fehler zu bekommen) Java Basics - Anfänger-Themen 8
R Java SQL Fehler! Java Basics - Anfänger-Themen 4
L non-static Fehler Java Basics - Anfänger-Themen 16

Ähnliche Java Themen

Neue Themen


Oben