Text und ArrayList

Status
Nicht offen für weitere Antworten.

Quick

Mitglied
Hallo,
ich habe eine abstracte class Ticket eine sub class MusicE und eine class Elist.

Die Ticket class hat die Attribute :Titel,Datum ,Ort und Idcode.
Die sub class MusicE erbt alle diese Attribute und wird erweitert durch das Attribut Performer.
Die Elist class soll ein Txt file lesen das so aussieht.

Type: Music Event
Titel: Rock you
Datum : 15/02/10
Ort: Eifel
Performer: Loco
Idcode: 963A

Type: Cinema Event
Titel: Love you
Datum : 12/08/10
Ort: Bonn
Performer: Colo
Idcode: 185B

Nun versuche ich den Text zu lesen und zu ueberpruefen ob ein MusicE Objekt vorhanden it .Falls ja sollte es in eine Liste kommen.

Das Lesen vom ganzen Text klappt alles weitere klappt leider ueberhaupt nicht.

Java:
import java.util.ArrayList;
import java.io.*;
import java.util.Scanner;
public class EList 
{
private ArrayList<Ticket>list = new ArrayList<Ticket>();
 
    public EList() 
    {
        readFile();
        
    }
    
    public void readFile() 
    {
        
        try{
            Scanner scan = new Scanner(new FileInputStream("Info.txt"));
            String line;
            while(scan.hasNextLine())
            {
               line=scan.nextLine();
               System.out.println(line);
               

                
            }
        }
     catch(Exception e)
     {
            System.out.println("error");
     }
            }



             public ArrayList<Ticket> getList()
    {
        return list;
    }

     }


Bitte um Hilfe
 
Zuletzt bearbeitet:

0x7F800000

Top Contributor
Nun versuche ich den Text zu lesen und zu ueberpruefen ob es sich um ein Cinema Event Objekt handelt.Falls ja sollte es in eine Liste kommen.
Die entsprechende Stelle konnte im im Code leider nicht entdecken. Für mich sieht's eher so aus, als ob der text einfach auf die Konsole geschrieben werden würde.

Ferner würde ich dir dringend empfehlen, deinen Code etwas sorgfältiger zu formatieren und vor allem auf Code Conventions zu achten: Reader() ist der denkbar schlechteste methodenname, den man sich einfallen lassen könnte. Zum einen klingt es nicht wie eine Aktion, sondern wie ein Objekt, zum anderen ist es sogar wie ein Klassenname hingeschrieben, und am allerschlimmsten: die Klasse gibt es tatsächlich, und zwar in den Kernpaketen der Standard-API. Methodennamen in camelCase und klein schreiben.
 

Quick

Mitglied
hallo,danke fuer deine Antwort.


"Die entsprechende Stelle konnte im im Code leider nicht entdecken.."

Ja ich hab sie mal weggelassen weil ich soviel herum probiert hatte ohne erfolg.
Java:
public void readFile() 
    {
        try{
     BufferedReader in  = new BufferedReader(new FileReader("Info.txt"));
     String line;


while((line = in.readLine()) != null) {
   list.add(line);
 
  
}
in.close();


  
    }
        catch(Exception e)
        {
            
            System.err.println("error");
        }
}
 
Zuletzt bearbeitet:

0x7F800000

Top Contributor
nein, ich meinte eher die Stelle:
Falls ja sollten beide getrennt in eine Lsiste kommen.
wo soll die sein? In deinem code gibt es keinerlei fallunterscheidungen. Und worauf sich das Wort "beide" bezieht weiß ich auch nicht.

Ob du lieber Scanner oder BufferedReader verwendest ist hier einigermaßen egal. An deiner Stelle würde ich erstmal beim Scanner bleiben.

An den gruseligen Methodennamen hat sich seit dem ersten Post leider nicht viel verändert, daher kann ich das nur erneut empfehlen.
 

Quick

Mitglied
So hier noch meine IFs ohne grossen Erfolg

Java:
public void readFile()
    {
        MusicE music;
        try{
     
            Scanner scan = new Scanner(new FileInputStream("Info.txt"));
          
            String []line;
            while(scan.hasNextLine())
            {
               
             line=scan.nextLine().split("\n");
         
            if(line[0].startsWith("Type: Music Event"))
            {
            if(line[4].startsWith("Idcode"))
               list.add (new MusicE(line[1],line[2],line[3],line[4]));
                          
                          

            }
          }
        }

        catch(Exception e)
        {
            
            System.err.println("error");
  }
}
   

 public ArrayList<Ticket> getList()
    {
        return list;
    }
   
    }
 

0x7F800000

Top Contributor
Eine einzelne Zeile zu scannen und diese dann an zeilenumbrüchen zu unterteilen macht irgendwie 0 Sinn, wenn es dadrin noch zeilenumbrüche gäbe, wäre es ja nicht eine Zeile... ???:L
 

Quick

Mitglied
So sollte er doch alle Zeilen Scannen .Macht aber immer noch nicht viel:)Eine Idee?

Java:
public void readFile()
    {
        MusicE music;
        try{
     
            Scanner scan = new Scanner(new FileInputStream("Info.txt"));
          
            String []line;
            while(scan.hasNextLine())
            {
               while( scan.nextLine()!=null)
          {
             ////line=scan.nextLine().split("");
         
            if(line[0].startsWith("Type: Music Event"))
            {
            if(line[4].startsWith("Idcode:"))
               list.add (new MusicE(line[1],line[2],line[3],line[4]));
                          
                          
               }
            }
          }
        }
 
        catch(Exception e)
        {
            
            System.err.println("error");
  }
}
 

TheChemist

Bekanntes Mitglied
Hab hier ma schnell was geschrieben, was dir vllt weiterhilft. Is jetzt nicht getestet, hoffe es hilft dir bisschen weiter. Allerdings verstehe ich nicht wie sich die Events unterscheiden, in deinem Startpost haben beide sechs Attribute.

Java:
    public static final String CINEMA = "Cinema Event";
    public static final String MOVIE = "Music Event";
    
    private String[] info;

    public void readFileAndCreateEvent(String filePath)
    {
        try{     
            BufferedReader br = new BufferedReader(new FileReader(filePath));          
            String line = br.readLine();
            int i = 0;
            
            while(line != null) {       // solange Dokument nicht leer ist
                line = br.readLine();   // lese neue Zeile
                info[i] = line;         // und speichere Wert in das Info Array
                i++;
            }            
        } catch(Exception e) {
            e.printStackTrace();
            System.err.println("Fehler beim Einlesen");
        }
        
        if(info[0].contains(CINEMA)) {              // Überprüfe um welchen Typ es sich handelt
            MusicE musicEvent = new MusicE(info);   // und erzeuge das passende Objekt
        } else if(info[0].contains(MOVIE)) {
            CinemaE cinemaEvent = new CinemaE(info);
        }
    }
 

ARadauer

Top Contributor
Java:
       String []line;
            while(scan.hasNextLine())
            {
               while( scan.nextLine()!=null)
          {
             ////line=scan.nextLine().split("");
         
            if(line[0].startsWith("Type: Music Event"))
            {
            if(line[4].startsWith("Idcode:"))
               list.add (new MusicE(line[1],line[2],line

räum das mal ein bisschen zusammen.... da kennt man sich nicht mehr aus...

du bist dir bewusst, wenn du zweimal nextLine aufrufst, dass dann zweimal gelesen wird? also es wird weitergelesen...
 

Quick

Mitglied
Hallo TheChemist ,danke fuer deine Zeit.Ich bin gerade drann den code nochmal neu zu schreiben und richte mich nach deinem code.
 

Quick

Mitglied
Ich schaffe es nicht eine Methode zu schreiben die volgendes macht.Wenn im Textfile oeffters ein Zeilenblock vorhanden ist der contains(Cinema) = true hat ,sollten auch so viele Objekte erzeugt werden.

Wenn er nur das Array[0] untersucht wirds wohl da auch enden und immer nur 1 Objekt erzeugen.
 

Leroy42

Top Contributor
...die volgendes macht.Wenn im Textfile oeffters ein Zeilenblock vorhanden ist der contains(Cinema) = true hat ,sollten auch so viele Objekte erzeugt werden.

Mal ein kreativer Text! :D

Wenn im Textfile oeffters ein Zeilenblock vorhanden ist der contains(Cinema) = true hat ,sollten auch so viele Objekte erzeugt werden.

Was verstehst du unter

Java:
contains(Cinema)  = true
???:L

Variablen sollten mit einem Kleinbuchstaben begonner werden?

Und ist "contain" eine statische Variable?
 

ARadauer

Top Contributor
Ich schaffe es nicht eine Methode zu schreiben die volgendes macht.Wenn im Textfile oeffters ein Zeilenblock vorhanden ist der contains(Cinema) = true hat ,sollten auch so viele Objekte erzeugt werden.

Wenn er nur das Array[0] untersucht wirds wohl da auch enden und immer nur 1 Objekt erzeugen.

nochmal bitte. Es ist heiß im Büro das schrenkt das Denken ein ... was willst du?
Deine Liste aufteilen?
 

Quick

Mitglied
Danke an TheChemist und ARadauer die wenigstens versucht haben seriös zu sein.
Über die anderen die nur mit Zitat antworten brauch nicht viel zu sagen. Besonders
Leroy 42 ist ein A............ und vertippt sich noch selber. Danke auch an bygones der die Kreativität von Leroy 42 zu schätzen weiß.


Super Forum :applaus::toll:
 

0x7F800000

Top Contributor
Besonders Leroy 42 ist ein A............
Naja, wer gut gemeinte ratschläge aus der ersten Antwort befolgt, wird evtl. nach 20 Beiträgen nicht von irgendwelchen angeblichen A.... wegen demselben Grund genervt :noe:
Dass du hier nach 3 Tagen 15 Zeilen Code von TheChemist heldenhaft nachvollzogen hast ist zwar schön und gut, verleiht dir imho noch nicht ganz die nötige Erfahrung, um jemanden korrekterweise als A.... einzustufen. ;)
Undeutlich formulierte Probleme führen nun mal dazu, dass die anderen Anfänger nicht verstehen was du willst, und die ganzen Fortgeschrittenen unterfordert sind und deinen Thread mit unpassenden Zitaten zumüllen... :autsch:

Bemühe dich bitte nächstes Mal einfach darum, kurz und klar zu schildern was deine Frage ist. :rtfm: Ohne den ganzen Prozess auf drei tage auszudehnen.

@all: Und 'n bisschen mehr Netiquette schadet auch nicht, hab ich neulich festgestellt (ja, das sagt ausgerechnet der scheiß Troll^^ :oops: )
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Objekte aus Text-Datei wieder in ArrayList laden Java Basics - Anfänger-Themen 8
J JTextPane "text/html" grafik implementieren... Java Basics - Anfänger-Themen 9
S Text Formatierung in Java Java Basics - Anfänger-Themen 2
G JComboBox ist editable und eingegebenen Text auslesen bei focusLost() Java Basics - Anfänger-Themen 1
G JTable bei aktivieren einer Zelle soll Text selektiert werden. Java Basics - Anfänger-Themen 24
G JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
A Edit Text Negative Decimalzahlen Java Basics - Anfänger-Themen 18
P Aus Text Datei nur Zahlen übernehmen Java Basics - Anfänger-Themen 13
T Text einlesen code was kommt dahin? Java Basics - Anfänger-Themen 1
R Text in der DB abspeichern, und danach bearbeiten Java Basics - Anfänger-Themen 5
A JTextArea entfernen und durch neuen Text ersetzen Java Basics - Anfänger-Themen 8
JavaBeginner22 Button Text verändern Java Basics - Anfänger-Themen 1
GoenntHack Java Text von JLabel verändert sich nicht Java Basics - Anfänger-Themen 1
A Text zu Morsecode Java Basics - Anfänger-Themen 8
O Java Text Area Zeilenausgabe Java Basics - Anfänger-Themen 7
M Text wird in der Console nicht ausgegeben. Java Basics - Anfänger-Themen 11
berserkerdq2 An selbst ersteller txt Datei immer Text dranhängen, ohne den vorherign Text zu löschen Java Basics - Anfänger-Themen 8
G Text in Datei schreiben Java Basics - Anfänger-Themen 9
T208 Text Datei individuell benennen. Java Basics - Anfänger-Themen 5
A Werten aus dem Text ausliesten Java Basics - Anfänger-Themen 6
K Jlabel mit itemlistevent Text gegeben, wird nicht angezeigt Java Basics - Anfänger-Themen 5
Kiki01 Wie würde eine geeignete Schleife aussehen, die die relative Häufigkeit für jeden Charakter in einem Text bestimmt? Java Basics - Anfänger-Themen 3
O Text mit Regex trennen und wieder zusammenbauen Java Basics - Anfänger-Themen 5
xFlozen Text mehrspaltig ausgeben Java Basics - Anfänger-Themen 3
S Zufällige ungerade Zeile aus Text-Datei lesen Java Basics - Anfänger-Themen 5
K Rekursiver Vergleich von Textmuster und Text Java Basics - Anfänger-Themen 2
C Variablen Provided text for message may not be null Java Basics - Anfänger-Themen 9
H Klassen Die Länge einer Text-Node bestimmen Java Basics - Anfänger-Themen 2
F Erste Schritte java.util.Scanner: Beliebig langen Text per Paste in Console eingeben ? Java Basics - Anfänger-Themen 14
GermanPie Discord Text Channel erstellen? Java Basics - Anfänger-Themen 1
C JButton Text 2 Mal ändern funktioniert nicht Java Basics - Anfänger-Themen 8
yoskaem Text Color durch Klicken eines Buttons in anderer Activity ändern Java Basics - Anfänger-Themen 2
B Alle Links in einem Text suchen und ersetzen mit einem neuen Link Java Basics - Anfänger-Themen 18
J Java TextArea Text bei hinzufügen makieren Java Basics - Anfänger-Themen 1
T Text-Ausgabe für Textadventure - Organisation Java Basics - Anfänger-Themen 5
G Anklickbaren Text erzeugen Java Basics - Anfänger-Themen 2
B Text-Datei nur in Stream speichern und dann ausgeben Java Basics - Anfänger-Themen 3
M Java: BufferedReader liest nur die Hälfte der Text-Datei. Java Basics - Anfänger-Themen 4
M Apache POI PPT - Vertikales Alignment von Text im XSLFAutoShape Java Basics - Anfänger-Themen 2
I Nur auf Abfrage von einer Text Datei einlesen Java Basics - Anfänger-Themen 11
P Text Datei einlesen und übertragen Java Basics - Anfänger-Themen 15
P Taschenrechner Text übertragung Java Basics - Anfänger-Themen 3
J java.text.DecimalFormat Java Basics - Anfänger-Themen 5
AnnaBauer21 GridBagLayout JLabel weightx: Unterschiedliche Breite mit & ohne Text Java Basics - Anfänger-Themen 6
K Durch eine Text eingabe etwas Ausführen Java Basics - Anfänger-Themen 5
S Text-To-Speech mit Java Java Basics - Anfänger-Themen 2
L Text-Adventure Java Basics - Anfänger-Themen 3
M Input/Output Java Swing: Prüft ob Text aus JTextField ausschließlich Integer enthält Java Basics - Anfänger-Themen 15
ruutaiokwu Ausgegebene Zeile ersetzen mit neuem Text Java Basics - Anfänger-Themen 3
tsom Erste Schritte itext Text als Block auf neue Seite Java Basics - Anfänger-Themen 0
Dimax Programme ,als Text in MySql speichern Java Basics - Anfänger-Themen 7
CptK Datentypen Text Dateien einlesen Java Basics - Anfänger-Themen 3
Harlequin Compiler-Fehler Text Adventure - "Long Output" Fehler Java Basics - Anfänger-Themen 3
S Zeichen zählen kopierter Text Java Basics - Anfänger-Themen 6
D Text als Code in java-forum.com formatieren. Wie ? Java Basics - Anfänger-Themen 3
F Schreibprogramm nur markierten Text in kursiv oder fett schreiben Java Basics - Anfänger-Themen 3
A Rechnen mit Text und Zahl Java Basics - Anfänger-Themen 4
MaximilianTM Input/Output Einlesen und bearbeiten einer text Datei / Zeile Java Basics - Anfänger-Themen 5
M Erste Schritte Verschlüsselung von text Java Basics - Anfänger-Themen 21
S Text aus einer HTML Datei auslesen Java Basics - Anfänger-Themen 1
S Java Text splitten mit Tabs, Zeilen, Zeichen und Klammern. Java Basics - Anfänger-Themen 6
M Beliebigen Text in *** umwandeln Java Basics - Anfänger-Themen 15
K (JTable) Text einer Zelle auf der linken Seite kürzel Java Basics - Anfänger-Themen 2
H Suche in Text und Markierung Java Basics - Anfänger-Themen 14
H Suche in einem Text Java Basics - Anfänger-Themen 17
F Input/Output Text einlesen lassen Java Basics - Anfänger-Themen 14
L Text eingeben und im Textfeld auslesen lassen Java Basics - Anfänger-Themen 2
R Best Practice Palindrom in einem Text finden Java Basics - Anfänger-Themen 18
J Text Datei einlesen Java Basics - Anfänger-Themen 6
L Text und Ganzzahl in einer Dialogbox Java Basics - Anfänger-Themen 5
D Text Adventure Erstellen Java Basics - Anfänger-Themen 10
T Jlabel durch Text in 2 anderen Jlabels sichtbar machen Java Basics - Anfänger-Themen 4
J JTextArea visible ohne Text Java Basics - Anfänger-Themen 3
D Bild zu Text Java Basics - Anfänger-Themen 4
L Text/Befehle zu Programmen senden Java Basics - Anfänger-Themen 1
L Java Text datei nur bis zu einem Punkt auslesen? Java Basics - Anfänger-Themen 3
T Classpath Problem mit dem auslesen von Text-Dateien (Pfad) Java Basics - Anfänger-Themen 3
S Erste Schritte Sprachermittler - Datei öffnen, Text in TextArea, Bereinigen, Auswerten Java Basics - Anfänger-Themen 14
S Java Label hat komischen text Java Basics - Anfänger-Themen 4
F Text anhand bestimmter Trennzeichen in Textteile trennen (netbeans) Java Basics - Anfänger-Themen 7
S Ausgabe von Text Formatieren Java Basics - Anfänger-Themen 6
H Text in einen Button quetschen Java Basics - Anfänger-Themen 3
A Text mit "Scanner" eingeben und Umlaute ersetzen Java Basics - Anfänger-Themen 7
A Text teilen und Wörter zählen Java Basics - Anfänger-Themen 7
J Zahlen als Text übersetzen Java Basics - Anfänger-Themen 6
F Erste Schritte Label Text vor Methodenaufruf setzen Java Basics - Anfänger-Themen 17
R Text Pane Aktualisierung erst nach JOptionPane Java Basics - Anfänger-Themen 10
I BufferedReader Text-Datei einlesen??? Java Basics - Anfänger-Themen 1
S Wort in Text suchen und ersetzen Java Basics - Anfänger-Themen 3
V Interface ich schäme mich das zu fragen, aber ich schaff nicht ein Text zu zentrieren :( [javaFX] Java Basics - Anfänger-Themen 6
M Input/Output Text auf Fenster zeichen Java Basics - Anfänger-Themen 2
W Klassen Fehler bei public void setLabelText(JLabel label, String text) Java Basics - Anfänger-Themen 11
Chava Testprojekt.Text.Image.Button Java Basics - Anfänger-Themen 4
Z JSlider - Text wird nich angezeigt Java Basics - Anfänger-Themen 0
A Problem mit set.Text und übergabe Java Basics - Anfänger-Themen 2
A Probleme mit equals und get.Text Java Basics - Anfänger-Themen 12
M Text innerhalb Anführungsstriche als "eins" auswerten Java Basics - Anfänger-Themen 5
V Text aus einer .txt dynamisch ins applet einpassen Java Basics - Anfänger-Themen 0
H Text durch Checkbox erscheinen lassen Java Basics - Anfänger-Themen 2
U markierten Text auf Zeichen zuvor/danach pruefen Java Basics - Anfänger-Themen 9

Ähnliche Java Themen


Oben