print-Anweisung verschluckt

Jennue

Neues Mitglied
Guten Morgen,
die unten stehende Methode soll zurückgeben, ob es eine Kante zwischen den Knoten String n1 und String n2 gibt (Graphen). Nun verwirrt es mich ein wenig, dass die print-Anweisungen total fehlerhaft sind, d.h. sie geben nur die Hälfte aus.

So schreibt er:
String1: acht String2: sieben
acht siebenh Iter1: 0 null
acht siebenh Iter1: 1 eins
....
acht siebenh Iter1: 7 sieben
FindEdge nach Iter1: 8 acht acht sieben
test1
siebenieben

und gibt false zurück.

Gefragt habe ich nach der Verbindung "acht" zu "sieben" (diese existiert).

Java:
	public boolean findEdge2(String n1, String n2){
		String str1 = n1;
		String str2 = n2;
		System.out.println("String1: " + str1 + " String2: " + str2);
		boolean b = false;			
		for(Iterator iter = nodes.iterator();iter.hasNext(); ){
			Nodes tmp1 = (Nodes)iter.next();
			System.out.println("FindEdge nach Iter1: " + tmp1.getId()  + " "+ tmp1.getName() + " " + str1 + " " + n2);
			if(str1.equals(tmp1.getName())){
				System.out.println("test1");
				for(Iterator itersucc = tmp1.m_Succ.iterator();itersucc.hasNext(); ){
					Nodes tmp2 = (Nodes)itersucc.next();
					System.out.println("wuhu: " + tmp2.getName() + " " + str2);
					if(str2.equals(tmp2.getName())){
						b = true;
					}
				}	
			}	
		}
		return b;
	}

Stimmt was nicht an meinem Code oder wo ist mein Fehler? Würde mich über Hilfe sehr freuen.
Viele Grüße
 
S

SlaterB

Gast
grundsätzlich ist dein Code richtig, siehe unten mein Beispiel mit ergänzter Node-Klasse + main-Methode (was du alles hättest posten können..)
merkwürdig sind in deinem Log die Ausgaben, die nicht durch System.out.println()-Methoden zu erklären sind,

was bei dir der Fehler ist ist noch nicht zu erkennen,
die Grundannahme ist schlicht, dass die Kante nicht vorhanden ist,
sieben hat anscheinend nichtmal eine einzige Verknüpfung, sonst gäbe es ja wuhu-Ausgaben,
in der test1-Zeile kannst du noch tmp1.m_Succ.isEmpty() ausgeben

Java:
public class Test
{
    List<Nodes> nodes = new ArrayList<Nodes>();

    public static void main(String[] args)
    {
        Nodes n7 = new Nodes(7, "sieben");
        Nodes n8 = new Nodes(8, "acht");
        n7.m_Succ.add(n8);

        Test t = new Test();
        t.nodes.add(n7);
        System.out.println(t.findEdge2("sieben", "acht"));
    }

    public boolean findEdge2(String n1, String n2)
    {
        String str1 = n1;
        String str2 = n2;
        System.out.println("String1: " + str1 + " String2: " + str2);
        boolean b = false;
        for (Iterator iter = nodes.iterator(); iter.hasNext();)
        {
            Nodes tmp1 = (Nodes)iter.next();
            System.out.println("FindEdge nach Iter1: " + tmp1.getId() + " " + tmp1.getName() + " " + str1 + " " + n2);
            if (str1.equals(tmp1.getName()))
            {
                System.out.println("test1");
                for (Iterator itersucc = tmp1.m_Succ.iterator(); itersucc.hasNext();)
                {
                    Nodes tmp2 = (Nodes)itersucc.next();
                    System.out.println("wuhu: " + tmp2.getName() + " " + str2);
                    if (str2.equals(tmp2.getName()))
                    {
                        b = true;
                    }
                }
            }
        }
        return b;
    }
}


class Nodes
{
    List<Nodes> m_Succ = new ArrayList<Nodes>();
    int id;
    String name;

    Nodes(int id, String name)
    {
        this.id = id;
        this.name = name;
    }

    String getName()
    {
        return name;
    }

    int getId()
    {
        return id;
    }
}
Code:
String1: sieben String2: acht
FindEdge nach Iter1: 7 sieben sieben acht
test1
wuhu: acht acht
true
 

MQue

Top Contributor
Also was man sagen kann ist, das print- Anweisungen nie falsch sind, bei dir liegt es am Code, der macht was anderes als du erwartest.
Debug dich mal durch deinen Code und schau, was du erwartest und was tatsächlich passiert.
Wenn du dann noch fragen hast, dann poste ein funktionierendes/lauffähiges Programm, dann kann man mehr sagen.
lg
 

Jennue

Neues Mitglied
Vielen Dank für die Antworten.
Die Überprüfung auf isEmpty() hatte mir false zurückgeliefert, das eigentliche Problem habe ich dann an einer anderen Stelle gefunden. Und zwar habe ich txt.Dateien eingelesen und er hat wohl die Enter-Zeichen mit gespeichert, dies hab ich dann mit scan.next().trim() gelöst. Jetzt funktioniert es.

PS: Bei der nächsten Frage stelle ich auch mehr Quellcode, dachte das reicht vllt :oops:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Print und Println Java Basics - Anfänger-Themen 13
123456789sssssaaaa Which is the best way to Print Fibonacci Series in Java? Java Basics - Anfänger-Themen 3
H awt.print. Java Basics - Anfänger-Themen 0
Kotelettklopfer Stringbuilder mit print ausgeben Java Basics - Anfänger-Themen 83
paulen1 Methoden Unerwünschte Ausgabe bei System.out.print in For-Schleife Java Basics - Anfänger-Themen 8
Y Wie kann man überprüfen, ob bei einem Print Befehl tatsächlich etwas geprintet wurde? Java Basics - Anfänger-Themen 4
S Anweisungen verstehen System.out.print/println Java Basics - Anfänger-Themen 2
B Input/Output System.out.print mit und ohne "" Java Basics - Anfänger-Themen 5
Ghostman1711 Itext PDF print File gelockt by Java Java Basics - Anfänger-Themen 15
L system.print.out geht nicht Java Basics - Anfänger-Themen 11
B Print Service Java Basics - Anfänger-Themen 5
I Print Client -> Server -> Client? Java Basics - Anfänger-Themen 1
I Print Monitor Java Basics - Anfänger-Themen 0
I Drucken (Print) monitoren Java Basics - Anfänger-Themen 0
S Unterschied print() und println() Java Basics - Anfänger-Themen 3
J Umgang mit System.out.println() und .print() Java Basics - Anfänger-Themen 6
C Kleines Problem mit System.out.print Java Basics - Anfänger-Themen 1
R Char wird in System.out.print(); nicht ausgegeben Java Basics - Anfänger-Themen 6
T System.out.print : Frage zu Aufbau Java Basics - Anfänger-Themen 4
J Erste Schritte System.out.print (Fehlermeldung) Java Basics - Anfänger-Themen 14
X Eclipse System.out.print fehler Java Basics - Anfänger-Themen 5
K char-int-Addition in System.out.print Java Basics - Anfänger-Themen 3
A Feststellen ob Desktop.print("*.pdf") fertig ist Java Basics - Anfänger-Themen 6
Junb Sys.Out.Print - aus Methode zugreifen Java Basics - Anfänger-Themen 6
G DRUCKEN von z.B. eines JFrame über print(Graphics g) Java Basics - Anfänger-Themen 9
S [JUnit] Print Results while running Java Basics - Anfänger-Themen 6
J print button Java Basics - Anfänger-Themen 2
T Dezimaltrennzeichen bei Ausgabe mit print ändern Java Basics - Anfänger-Themen 4
ruutaiokwu System.err.print(ln) macht ein durcheinander??! Java Basics - Anfänger-Themen 8
S Print Methode zweier "Classes" kombinieren Java Basics - Anfänger-Themen 2
O Drucker: print methode wird 2 mal aufgerufen nachfrage Java Basics - Anfänger-Themen 4
J Fragen zu System.out.print und charAt Java Basics - Anfänger-Themen 3
S 2 kleine Methoden negieren und print Java Basics - Anfänger-Themen 8
D System.out.print(0101); =65. Warum? Java Basics - Anfänger-Themen 3
E Mehrfache print ausgabe ohne Schleife oder Rekursiven aufruf? Java Basics - Anfänger-Themen 48
M to pdf print process starten Java Basics - Anfänger-Themen 4
C javax.print.DocPrintJob Java Basics - Anfänger-Themen 17
F print in java Java Basics - Anfänger-Themen 3
W Die Methode print() wird 2 mal für jede Seite aufgerufen Java Basics - Anfänger-Themen 9
B Objekt Orintiertes Programmieren ausgabe Fehler mit Print() Java Basics - Anfänger-Themen 4
S print()! Java Basics - Anfänger-Themen 2
L PrintWriter autoflush: println funktioniert, print nicht Java Basics - Anfänger-Themen 3
G Auswahl:in File schreiben, oder System.out.print Java Basics - Anfänger-Themen 4
J System.out.print Java Basics - Anfänger-Themen 5
S Listen - insert - print etc. Dringend! Bitte! Java Basics - Anfänger-Themen 6
H Print Methode Java Basics - Anfänger-Themen 6
C System.out.print oder println ? Java Basics - Anfänger-Themen 2
T If anweisung Java Basics - Anfänger-Themen 5
C Scanner und If-Anweisung in Kombi Java Basics - Anfänger-Themen 3
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
AlexVo String zu Java Anweisung getString("*** java code ***") Java Basics - Anfänger-Themen 19
R Wie würde hier die if-Anweisung aussehen? Java Basics - Anfänger-Themen 18
B break Anweisung Java Basics - Anfänger-Themen 13
C Wie kann ich einen User Input mit einer If-Anweisung verbinden? Java Basics - Anfänger-Themen 5
T Not a Statement/Illegal Start of expression bei for Anweisung Java Basics - Anfänger-Themen 6
H Cäsar chiffrierung ohne if-Anweisung Java Basics - Anfänger-Themen 5
D kann man vor dem CSVRecord, replace Anweisung anwenden ? Java Basics - Anfänger-Themen 2
B Erste Schritte if Anweisung mit Wert Übernahme Java Basics - Anfänger-Themen 3
C Anweisung Java Basics - Anfänger-Themen 11
C HashMap - alle keys haben values der letzten put-Anweisung Java Basics - Anfänger-Themen 3
W Warum funktioniert meine if Anweisung nicht? Java Basics - Anfänger-Themen 8
K if Anweisung Java Basics - Anfänger-Themen 3
W Erste Schritte Warum funktioniert mein Programm nicht ? ~if Anweisung~ Java Basics - Anfänger-Themen 4
V Erste Schritte Warum geht meine continue Anweisung nicht? Java Basics - Anfänger-Themen 8
DaCrazyJavaExpert [SQL] SQL als Anweisung mit Spezial-Fall EclipseEclipse Java Basics - Anfänger-Themen 8
J If Anweisung in Schleife einbinden Java Basics - Anfänger-Themen 7
JavaNewbie2.0 Zur Anweisung zurück Java Basics - Anfänger-Themen 13
J Erste Schritte Vorsicht Spaghetti-Code! Wie verschachtel ich meine If-Anweisung??? Java Basics - Anfänger-Themen 4
L if-Anweisung Java Basics - Anfänger-Themen 5
DontFeedTheTroll Erste Schritte Verständnisfrage zu If-Anweisung Java Basics - Anfänger-Themen 7
P Erste Schritte Taschenrechner mit if-else Anweisung Java Basics - Anfänger-Themen 6
Q Variablen If Anweisung, kleiner fehler Java Basics - Anfänger-Themen 8
M Probleme mit Anzeigen von String in GUI und if-Anweisung Java Basics - Anfänger-Themen 9
L If Anweisung mit ArrayList Probleme Java Basics - Anfänger-Themen 6
OlafHD String in einer If-Anweisung Vergleichen Java Basics - Anfänger-Themen 2
N Rekursion mit if-Anweisung Java Basics - Anfänger-Themen 10
P if anweisung Java Basics - Anfänger-Themen 8
L Frage zur while Anweisung Java Basics - Anfänger-Themen 10
F Return-Anweisung Java Basics - Anfänger-Themen 2
B If-anweisung per ja eingabe. Java Basics - Anfänger-Themen 2
C Variablen if Anweisung falsch gesetzt Java Basics - Anfänger-Themen 4
1 Bei if-Anweisung: Syntax error on token Java Basics - Anfänger-Themen 5
A for-Schleife, if-Anweisung Java Basics - Anfänger-Themen 4
A if - Anweisung Java Basics - Anfänger-Themen 6
R Erste Schritte Schleife erzeugen (mit If Anweisung) Java Basics - Anfänger-Themen 3
P Bei Switch-Anweisung wird default-Anweisung angezeigt Java Basics - Anfänger-Themen 4
M if, else Anweisung Java Basics - Anfänger-Themen 3
O This in switch anweisung Java Basics - Anfänger-Themen 5
M Throws Anweisung innerhalb eines Methodenkopfes unklar Java Basics - Anfänger-Themen 4
F Erste Schritte Switch case vs. Verschachtelte If Anweisung Java Basics - Anfänger-Themen 11
M If-Anweisung (Objekt nachdem es gegessen wurde, mehrmals auftauchen lassen) Java Basics - Anfänger-Themen 3
F Fehler in der Swich-Anweisung aber Warum? Java Basics - Anfänger-Themen 4
A if-Anweisung zwischen zwei Punkten Java Basics - Anfänger-Themen 1
T Problem mit IF-Anweisung. Java Basics - Anfänger-Themen 3
B Erste Schritte Addition von double in switch-Anweisung Java Basics - Anfänger-Themen 2
W return-Anweisung gibt nichts aus Java Basics - Anfänger-Themen 5
H Leere Anweisung Java Basics - Anfänger-Themen 24
S Methoden Return Anweisung beendet Methode nicht, stattdessen wird diese zweimal durchlaufen Java Basics - Anfänger-Themen 3
F Reset in der switch Anweisung Java Basics - Anfänger-Themen 3
V Frage zur IF Anweisung Java Basics - Anfänger-Themen 40

Ähnliche Java Themen

Neue Themen


Oben