Ausgabe funktioniert nicht! Bitte um Hilfe!

Status
Nicht offen für weitere Antworten.

Sindbad1983

Top Contributor
Hi!

so schnell gib ich nicht auf! :noe:

Aber ich häng wieder mal gewaltig! Ich hab mich jetzt echt bemüht, aber ich brings nicht zum Laufen!
Wahrscheinlich hab ich wieder einen Denkfehler drin!

Problem: Es wird nichts ausgegeben!!!

Also nochmal kurz zur Erklärung:

Ich lies folgende Daten aus einer Datei aus: z.B.

Thomas;Hofer;12;04;1983;
Roland;Hofer;13;05;1977;

und dann soll er diese Daten einlesen und auf dem Bildschirm ausgeben! Durchlaufen soll er die ArrayList mit einem Iterator!

Hier der Source-Code:

Ich hoffe, es ist nicht zu lang...aber es ist ganz einfach für Profis 8)

Nur mal kurz drüberschaun, wenn ihr Zeit habt... mir fehlt da einfach noch ein bisschen der Überblick !

Aber genau deswegen wärs wichtig, wenns gehen würde! -> gut für die Verständnis! :idea:

Das Endprodukt soll dann so aussehen: Ich möchte, dass er alle Namen ausgibt, die im Jahre 1983 geboren sind oder so!Aber das kommt erst später, ok?
Also ich bitte euch um eure Hilfe!!!
-------------------------------
Klasse Person:



Code:
class Person{

	private String vorname;
	private String nachname;
	Datum datum;

	
	public void setFirstName(String vorname){
		this.vorname=vorname;
	}
	
	public String getFirstName(){
		return vorname;
	}
	
	public void setLastName(String nachname){
		this.nachname=nachname;
	}
	
	public String getLastName(){
		return nachname;
	}
	
	
	public void setDate(Datum date){
		this.datum=date;
	}
	
	public Datum getDate(){
		return datum;
	}
	
	

}

-----------------------------------
Klasse Datum:

Code:
class Datum{

	private int year;
	private int month;
	private int day;
	
	public void setDay(int day){
		this.day=day;
	}
	
	public int getDay(){
		return day;
	}
	

	public void setMonth(int month){
		this.month=month;
	}
	
	public int getMonth(){
		return month;
	}

	public void setYear(int year){
		this.year=year;
	}
	
	public int getYear(){
		return year;
	}

}
---------------------------


Klasse TestDate: hier drin wird wohl der Fehler liegen!

Code:
import java.io.*;
import java.util.*;
import java.lang.*;

class TestDate{

	public static void main(String [] args){
		
		PersonManager manager=new PersonManager();
	

		try{

		BufferedReader rb=new BufferedReader(new FileReader("C://Downloads/Geburtstag.txt"));

		String s=rb.readLine();
		
		StringTokenizer tok=new StringTokenizer(s,";",false);
		
		
			while(tok.hasMoreElements()){
				Person p=new Person();
				p.setFirstName(tok.nextToken());
				p.setLastName(tok.nextToken());
				
				Datum date=new Datum();
				date.setYear(Integer.parseInt(tok.nextToken()));
				date.setMonth(Integer.parseInt(tok.nextToken()));
				date.setDay(Integer.parseInt(tok.nextToken()));
				p.setDate(date);
				manager.addPerson(p);
				manager.printPerson(); // stimmt das so????????????
			}
		
		}
		catch(IOException e){};
		
	}

}

------------------------------
Klasse PersonManager

Code:
import java.util.*;

public class PersonManager{

	int personCounter;
	ArrayList data;
	
	
	public PersonManager(){
		this.data=new ArrayList();
	
	}


	public void addPerson(Person p){

		data.add(p);
	}
	
	public void printPerson(){ //Ausgabe der Personen...oder etwa nicht?
		
		Iterator it=data.iterator();
		
		while(it.hasNext()){
			Object o=it.next();
			Person p=(Person)o;	
               System.out.println(p.getFirstName()+p.getLastName()+p.getDate());
		}
		
		
	}


}

------------------

Danke!!!!!!!! :roll:
 

thE_29

Top Contributor
Also ich bekomm zwar ne Ausgabe (zwar nur einen) aber änder das mal

C://Downloads/Geburtstag.txt

auf

C:\\Downloads\\Geburtstag.txt

du bist WINDOWS => \\ nicht / = Linux ;)


Nachtrag: Gib alle Fehlermeldungen/Exceptions aus und benutze Debugger (falls das deine IDE nicht hat, nimm ne andere debugger sind das wichtigste um auf Fehler draufzukommen!!)


Nachtrag2: catch(IOException e){};

Wenn ich sowas sehe, verstehe ich euch mal überhaupt nicht! Seit froh das fast überall Exception geworfen werden (net so wie in C/C++ wo du nix hast) und ihr würgt die Nachrichten immer ab...... alter weil das ja wenn stört wenn der bei nem Fehlerfall den Fehler ausgibt!

Gebt immer eure Exceptions aus!! Merkt euch das mal... :noe: :meld:
 

Sindbad1983

Top Contributor
hm...bei mir gibt er jetzt auch nur 1 Namen aus...und das ein bissl komisch

FranzHoferDatum@480457
Press any key to continue...

das schaut nicht gut aus!
Woran kann das liegen?
Warum gibt er nur 1 Namen aus? hm! :-(

was meinst du?

soll ich schreiben

System.out.println(e); oder wie?


PS: Fehlermeldungen bekomm ich überhaupt keine! ???:L
 

thE_29

Top Contributor
Jo schau her, weiter gehts so
Geburtstag.txt sieht so aus

Thomas;Hofer;12;04;1983
Roland;Hofer;13;05;1977

Keine Strichpunkte zum Schluss!!


Code:
import java.io.*;
import java.util.*;
import java.lang.*;

class TestDate{

   public static void main(String [] args){

      PersonManager manager=new PersonManager();


      try{

        BufferedReader rb = new BufferedReader(new FileReader(
            "C:\\Geburtstag.txt"));
        String s = "";

        while ( (s = rb.readLine()) != null) //du hast bei dir nur 1 Zeile eingelesen!! du musst schon das File durchlesen!
        {

          StringTokenizer tok = new StringTokenizer(s, ";", false);

          while (tok.hasMoreElements())
          {
            Person p = new Person();
            p.setFirstName(tok.nextToken());
            p.setLastName(tok.nextToken());

            Datum date = new Datum();
            date.setYear(Integer.parseInt(tok.nextToken()));
            date.setMonth(Integer.parseInt(tok.nextToken()));
            date.setDay(Integer.parseInt(tok.nextToken()));
            p.setDate(date);
            manager.addPerson(p);
          }

        }
      }
      catch (IOException e)
      {
        e.printStackTrace();
      } //ein catch braucht am Ende keinen ;!!!!
      //Damit die Ausgabe nur 1mal kommt
      manager.printPerson(); // stimmt das so????????????
   }
}

Dann wegen der korrekten Ausgabe musst du die Methode public String toString() überschreiben!

Code:
class Datum{

   private int year;
   private int month;
   private int day;

   public void setDay(int day){
      this.day=day;
   }

   public int getDay(){
      return day;
   }


   public void setMonth(int month){
      this.month=month;
   }

   public int getMonth(){
      return month;
   }

   public void setYear(int year){
      this.year=year;
   }

   public int getYear(){
      return year;
   }

   public String toString()
   {
     StringBuffer strBuf = new StringBuffer();
     strBuf.append(day);
     strBuf.append(".");
     strBuf.append(month);
     strBuf.append(".");
     strBuf.append(year);
     return strBuf.toString();
   }

}
 

Sindbad1983

Top Contributor
boa...ich bin begeistert! :applaus:
Spitze!!!
Cool..danke!Das schaut schon mal nicht schlecht aus jetzt!

Vielen Dank!!!!!

Jetzt werd ich versuchen mit Namen ausgeben bei bestimmten Datum!
 

Sindbad1983

Top Contributor
So...jetzt hab ich folgendes versucht!

Er soll zusätzlich true oder false ausgeben, ob eine Person in einem bestimmten Jahr geboren ist...
also z.B. im Jahre 1983 geboren...

gewünschte Ausgabe:

Code:
Franz Hofer     1983.4.12 true
Roland Hofer    1977.4.23 false
Hans Hofer      1954.5.21 false
Press any key to continue...


ausgegeben wird aber leider bis jetzt überall nur false! :cry:


ich weiß nicht, wo der Fehler liegen könnte! Such schon wieder seit ner 3/4 Stunde! :autsch:

---------------------------------------

also Klasse Person bleibt unverändert!
--------------------------
Klasse Datum:


Code:
class Datum{

	private int year;
	private int month;
	private int day;
	
	public void setDay(int day){
		this.day=day;
	}
	
	public int getDay(){
		return day;
	}
	

	public void setMonth(int month){
		this.month=month;
	}
	
	public int getMonth(){
		return month;
	}

	public void setYear(int year){
		this.year=year;
	}
	
	public int getYear(){
		return year;
	}
	
	public boolean isBornInYear(int year){
		
		if(this.year==year){
			return true;
		}
		else{
			return false;
		}
		
	}
	

	
	public String toString(){
		
		StringBuffer sb=new StringBuffer();
		
		
		
	
		sb.append("\t"+year);
		sb.append(".");
		sb.append(""+month);
		sb.append(".");
		sb.append(""+day);
	
	
		return sb.toString();
	}
	


}

---------------------------
Klasse TestDate bleibt gleich!

--------------------------------

Klasse PersonManager:

Code:
	public void printPerson(){
		
		Iterator it=data.iterator();
		
		while(it.hasNext()){
			Object o=it.next();
			Person p=(Person)o;
		        System.out.println(p.getFirstName()+" "+p.getLastName()+" "+p.getDate()+p.datum.isBornInYear(1983));		}
		
		
	}

also Beispiel soll sein mit 1983!
Oder fehlt da wieder was?
Danke!!!
 

Wildcard

Top Contributor
Also bei mir funktionierts.
Hab mit setYear() 1983 gesetzt, und dann kam true raus.
Setz doch mal einen Debug-Punkt und schau dir an was da eigentlich ankommt.
 

Wildcard

Top Contributor
Hab ja die Datei nicht, deshalb hab ich eine Person manuel in der
main erzeugt:

Code:
   public static void main(String [] args)
   { 

      PersonManager manager=new PersonManager(); 

      Datum date = new Datum(); 
      Person p = new Person();
      date.setYear(1983); 
      date.setMonth(10); 
      date.setDay(12); 
      p.setDate(date); 
      manager.addPerson(p);
      manager.printPerson();
   }
 

Sindbad1983

Top Contributor
was und du hast mein Programm genau so übernommen?
auch mit dem



Code:
p.datum.isBornInYear(1983)

stimmt das wirklich?


naja..mit der Datei gehts leider nicht bei mir! Weiß nicht, wo da der Hund begraben liegt!
Weil so schwer dürft ja das nicht sein!
Eigentlich müssts passen!

:cry: :cry: :cry:
 

Wildcard

Top Contributor
Ja, das stimmt wirklich :D
Probier mal das hier, dann siehts du vieleicht wo's hängt:

Code:
    public boolean isBornInYear(int year)
    { 
        System.out.println("year: " +year);
        System.out.println("Datum: " +datum.getYear());
       if(datum.getYear()==year){ 
          return true; 
       } 
       else{ 
          return false; 
       } 
        
    }
 

Sindbad1983

Top Contributor
nein, nein...passt schon
ich war verwirrt! *g*

Ich hatte in der Datei eine falsche Reihenfolge!

nicht 1983;04;12
sondern umgekehrt!
da hat er klarerweise 1983 nicht erkannt!

Trotzdem danke für deine Hilfe!
Schönen Abend noch!
ciao,Tommy
 

Sindbad1983

Top Contributor
ich hab noch nicht genug! :)
wie müsste ich vorgehen, wenn er jetzt z.B. nur jene Personen ausgeben soll, die im Jahr 1983 geboren sind!??

Wie wär da der Ansatz?
Weißt du das zufällig?
 

Wildcard

Top Contributor
Code:
   public void printPerson()
   { 
       
      Iterator it=data.iterator(); 
       
      while(it.hasNext())
      { 
         Person p=(Person)it.next(); 
         if (p.isBornInYear(1983))
             System.out.println(p.getFirstName()+" "+p.getLastName()+" "+p.getDate()+p.isBornInYear(1983)); 
      }      
   }
 

Sindbad1983

Top Contributor
stimmt..so gehts auch!
genau


oder:

Code:
	if(p.datum.getYear()==1977){
			
	    System.out.println(p.getFirstName()+" "+p.getLastName()+" "+p.getDate());
			
                }

das gefällt mir!
Super! :applaus:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
N Wochentagberechner Ausgabe funktioniert nicht Java Basics - Anfänger-Themen 7
U Anfänger Frage - Ausgabe funktioniert nicht - Wieso? Java Basics - Anfänger-Themen 10
S Spiel Hangman programmieren - Ausgabe funktioniert nicht!!! Java Basics - Anfänger-Themen 13
S Interfaces - Ausgabe von Set funktioniert nicht! Java Basics - Anfänger-Themen 22
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
M Ausgabe beim Overloading Java Basics - Anfänger-Themen 3
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
B Binärzahlen auflisten, falsche Ausgabe? Java Basics - Anfänger-Themen 1
M Java Ausgabe der höchsten Zahl Java Basics - Anfänger-Themen 14
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
W Streams in Java und was bedeutet meine Konsolen-Ausgabe? Java Basics - Anfänger-Themen 4
B Automatisierte Ausgabe (Schleife, If-Abfrage?) Java Basics - Anfänger-Themen 24
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
B Deadlock verstehen der Ausgabe! Java Basics - Anfänger-Themen 12
Lion.King Ausgabe mit Eigenschaften Java Basics - Anfänger-Themen 4
D Java Pattern mit X Ausgabe Stern Java Basics - Anfänger-Themen 4
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
Xaver code Tastatur ausgabe Java Basics - Anfänger-Themen 4
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
K Leerzeile in Konsolen-Ausgabe Java Basics - Anfänger-Themen 4
K Zweite Ausgabe von vererbten Klassen Java Basics - Anfänger-Themen 3
Q return Ausgabe Java Basics - Anfänger-Themen 4
C Java Arrays - Ausgabe in Methode Java Basics - Anfänger-Themen 12
D Best Practice Ausgabe über direkte Ausgabe oder try-catch? Java Basics - Anfänger-Themen 13
S Ausgabe des Variablenwerts Java Basics - Anfänger-Themen 10
I Ausgabe nicht nur senkrecht sondern auch waagerecht. Java Basics - Anfänger-Themen 2
paulen1 Methoden Unerwünschte Ausgabe bei System.out.print in For-Schleife Java Basics - Anfänger-Themen 8
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
F Double Ausgabe nicht wissenschaftlich Java Basics - Anfänger-Themen 16
danieldemetry Java - Graph Komponenten - Ausgabe Java Basics - Anfänger-Themen 0
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
D BigDecimal Ausgabe sehr lang. Java Basics - Anfänger-Themen 2
J String Ausgabe Java Basics - Anfänger-Themen 2
TimoN11 IntelliJ , Ausgabe von einem Quellcode in Eingabe eines Quellcodes Java Basics - Anfänger-Themen 1
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
KogoroMori21 Array-Ausgabe Java Basics - Anfänger-Themen 6
JaVaN0oB Wörterraten - Falsche Ausgabe, String/Chars vergleichen Java Basics - Anfänger-Themen 2
E Ausgabe überschreiben Java Basics - Anfänger-Themen 15
D Ausgabe von Array Java Basics - Anfänger-Themen 2
U Ausgabe Java Basics - Anfänger-Themen 4
J Buchstabenhäufigkeit mit Array und Ausgabe des häufigsten Buchstaben Java Basics - Anfänger-Themen 25
V Multiplikationstafel - Ausgabe Java Basics - Anfänger-Themen 4
L Warum ist die Ausgabe anders als das was im Bezeichner steht? Java Basics - Anfänger-Themen 4
M In gleicher zeile hinter ausgabe noch etwas ausgeben Java Basics - Anfänger-Themen 1
newcomerJava Nach doppelter Zahl eine Ausgabe Java Basics - Anfänger-Themen 10
H Falsche Ausgabe Java Basics - Anfänger-Themen 2
P Klassenübergreifende Ausgabe mittels "getter" nicht möglich Java Basics - Anfänger-Themen 21
R Call-by-Value, Call-by-Reference, Call-by-Name Ausgabe Java Basics - Anfänger-Themen 1
JavaClap "Bruchrechner" liefert Fehler/keine Ausgabe bei Addition und Subtraktion Java Basics - Anfänger-Themen 0
D Warum erfolgt folgende Ausgabe und warum? Java Basics - Anfänger-Themen 4
C Ausgabe in der Konsole Java Basics - Anfänger-Themen 11
M Problem bei Ausgabe Java Basics - Anfänger-Themen 7
C Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen Java Basics - Anfänger-Themen 4
A Ausgabe mit boolean Java Basics - Anfänger-Themen 3
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
G Problem bei der Ausgabe einer Main Claase Java Basics - Anfänger-Themen 7
Y Methode + Parameters + Ein und Ausgabe Java Basics - Anfänger-Themen 1
K Methodenaufruf /-ausgabe Java Basics - Anfänger-Themen 5
A Wiederholte Ausgabe vermeiden Java Basics - Anfänger-Themen 16
B Collections Objektreferenz-ID in der Ausgabe (Comparator Interface) Java Basics - Anfänger-Themen 2
M Wie analysiert JSON eine toString-Ausgabe ? Java Basics - Anfänger-Themen 1
T Vererbung Verschiedene Fahrzeugtypen mit unterschiedlicher Ausgabe Java Basics - Anfänger-Themen 17
T Ausgabe einer for Schleife Java Basics - Anfänger-Themen 2
S Elemente eines Arrays bei Ausgabe auslassen Java Basics - Anfänger-Themen 2
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
T Text-Ausgabe für Textadventure - Organisation Java Basics - Anfänger-Themen 5
G Unterklassen (Klasse für Ausgabe) Java Basics - Anfänger-Themen 4
N Eingabe des Users direkt hinter die Ausgabe Java Basics - Anfänger-Themen 3
J Methode zur Ausgabe eines Dreiecks aus Sternen schreiben? Java Basics - Anfänger-Themen 2
ZH1896ZH Wieso diese Ausgabe?? Java Basics - Anfänger-Themen 10
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
B Keine Ausgabe .. Woran liegt das? Ich komme nicht weiter Java Basics - Anfänger-Themen 14
K Rechtsbündige Ausgabe von Zahlen Java Basics - Anfänger-Themen 6
V Erste Schritte for-Schleife; Ausgabe soll alle 5 Sekunden erfolgen. Java Basics - Anfänger-Themen 4
X Threads Zwei Threads, aber doppelte Ausgabe verhindern (synchronized) Java Basics - Anfänger-Themen 54
J Ausgabe Gesamtpreis Java Basics - Anfänger-Themen 39
E Variablen in formatierter Ausgabe Java Basics - Anfänger-Themen 15
B HQL / Hibernate, GroupBy und Ausgabe als Double Java Basics - Anfänger-Themen 1
J StrinBuffer in der Ausgabe Java Basics - Anfänger-Themen 4
H ausgabe? Java Basics - Anfänger-Themen 32
B Ausgabe Zahlenreihe Horizontal Java Basics - Anfänger-Themen 3
V Neue Ausgabe von toString nach Methodenaufruf Java Basics - Anfänger-Themen 9
K Array Ausgabe Java Basics - Anfänger-Themen 2
L Datentypen Ausgabe von eigenem Datentypen Java Basics - Anfänger-Themen 2
C 1x1 Ausgabe auf dem Bildschirm Java Basics - Anfänger-Themen 3
L Fehler im Programm bei Ausgabe Java Basics - Anfänger-Themen 21
J Doppelte Ausgabe erzeugen Iterator Java Basics - Anfänger-Themen 6
F Warum ist die Ausgabe hier 1? Java Basics - Anfänger-Themen 4
Bun17 Keine Ausgabe in der Konsole Java Basics - Anfänger-Themen 2
H Ausgabe Java Basics - Anfänger-Themen 6
U Ausgabe von Dateiinhalt während Programmnutzung fehlerhaft Java Basics - Anfänger-Themen 3
Jackii ArrayList ausgabe ohne Dopplung Java Basics - Anfänger-Themen 11
F Erste Schritte Subnet Calculator - Ausgabe der NetID und der Broadcast Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben