Kleines Programm mit ArrayList

Status
Nicht offen für weitere Antworten.
S

Sch1llman

Gast
hi :)

ich habe vor, ein kleines programm mit hilfe einer arraylist zu schreiben. es soll folgendes tun: eine datei einlesen, bei der jede zeile eigenschaften eines punktes enthält und die eigenschaften dann in anderer reihenfolge in einer neuen datei ausgeben.
dazu gleich die erste frage: ist die dateiendung egal? sonst müsste ich sie wohl vorher noch in eine .txt umbenennen lassen.

aber von vorne:
ich habe schon die klasse "Punkt" geschrieben, die die eigenschaften der punkte enthält. "Code" ist dabe int, weil sich je nach wert von "Code" nachher etwas verändert. weil das programm mit dem rest nicht viel machen muss, lasse ich sonst alles String.

das sieht bei mir jetzt so aus:

Code:
import java.util.*;

public class Punkt {
    private String PunktNr;
    private int Code;
    private String Rechts;
    private String Links;
    private String Hoch;
    
    public Punkt(){
      this.PunktNr = "";
      this.Code = 0;
      this.Rechts = "";
      this.Links = "";
      this.Hoch = "";
    }
    
    public Punkt(String punktNr, int code, String rechts, String links, String hoch){
      this.PunktNr = punktNr;
      this.Code = code;
      this.Rechts = rechts;
      this.Links = links;
      this.Hoch = hoch;
    }
    
    public void setPunktNr(String punktNr){
      this.PunktNr = punktNr;
    }
    
    public String getPunktNr(){
      return this.PunktNr;
    }
    
    public int getCode(){
      return this.Code;
    }
    
    public String getRechts(){
      return this.Rechts;
    }
    
    public String getLinks(){
      return this.Links;
    }
    
    public String getHoch(){
      return this.Hoch;
    }

}

soweit so gut.
nun die ArrayList "Punktliste". mit dem filereader soll nun zeile für zeile die datei ausgelesen werden (der einfachheit halber habe ich aktuell noch den namen der datei direkt im programm stehen), getrennt wird bei leerzeichen.
um das ganze zu testen, habe ich dann getPunktliste() geschrieben, da müsste ja theoretisch etwas ausgegeben werden, was aber leider nicht funktioniert :(

hier meine aktuelle arraylist-klasse:

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

public class prog {

  // Variablen
  private ArrayList<Punkt> Punktliste;

  // Standardkonstruktor
  public prog() {
    Punktliste = new ArrayList<Punkt>();
    this.initialisierePunktliste();
  }

  // Ausgeben mit System.out.println()
  public void getPunktliste() {
     for (int i=0; i<Punktliste.size(); i++) {
       System.out.println(Punktliste.get(i).getCode());
     }
  }

  //Einlesen der Punkte:
  private void initialisierePunktliste() {
     try {
       String str;
       FileReader fr = new FileReader("Eiche100608alt.txt");
       BufferedReader br = new BufferedReader(fr);
       StringTokenizer zeile;
       Punkt pkt;
       int i = 0;
       while ( (str=br.readLine()) != null) {
         zeile = new StringTokenizer(str);
         pkt = new Punkt(zeile.nextToken().trim(),
                   Integer.parseInt(zeile.nextToken().trim()),
                   zeile.nextToken().trim(),
                   zeile.nextToken().trim(),
                   zeile.nextToken().trim());
         i++;
       }
       fr.close();
     } catch(Exception e) {
       System.out.println("Fehler beim Einlesen der Datei.");
     }
  }
}

zum testen habe ich einfach folgendes geschrieben:

Code:
public class Test {

  public static void main(String[] args) {
    prog Pk = new prog();

    Pk.getPunktliste();

  }

}


vielen dank, wenn sich jemand die zeit nimmt, mir zu helfen :)
wenn das erstmal funktioniert, habe ich aber noch eine menge vor mir^^
datei erstellen und schreiben, außerdem noch eine bequemere auswahl, die ursprungs-datei zu wählen...[/quote]
 

Marco13

Top Contributor
In der while-Schleife beim Einlesen müßte wohl noch irgendwo
Punktliste.add(pkt);
auftauchen....

Klassennamen schreibt man Groß, Variablennamen schreibt man klein (auch wenn ich es jetzt doch groß geschrieben habe :wink: )
 

musiKk

Top Contributor
Ich schau mir um ehrlich zu sein die Quelltexte jetzt nicht an, aber bzgl. einer Frage kann ich was sagen: Dateiendungen sind voellig egal. Ob sie txt oder foo oder gar nicht vorhanden ist, spielt keine Rolle. Windows hat mit der extremen Fixierung auf Dateiendungen einen meiner Meinung nach kritischen Trend gelegt, aber das ist nun auch schon ewig her.
 
S

Sch1llman

Gast
aaaaah ja, vielen dank! manchmal ist es doch so einfach :D

eine weitere frage: eigentlich wollte ich keine GUI machen, sondern es einfach über die konsole laufen lassen. kann man aber über die konsole dieses "datei öffnen" fenster aufrufen? wenn nicht, müsste ich es wohl so machen, dass der dateiname per hand eingegeben werden muss...
 

musiKk

Top Contributor
Also so wie ich das auf die Schnelle mal ausprobiert habe, reicht ein
Code:
JFileChooser chooser = new JFileChooser();
int retval = chooser.showOpenDialog(null);
absolut aus. Natuerlich muss noch die ausgewaehlte Datei rausgeholt werden.
 
S

Sch1llman

Gast
sooo, das ganze klappt schonmal ganz gut. es wird alles korrekt ausgelesen und die ausgabe in eine datei funktioniert auch.
nun haben sich aber noch 2 probleme aufgetan, an denen ich gerade knabbere:

1. KANN es anscheinend passieren, dass bei der quell-datei "Hoch" (also der letzte wert) fehlt, was natürlich zum auslese-fehler führt. wenn dem so ist, kann im prinzip der ganze punkt gelöscht werden bzw. muss gar nicht erst eingelesen werden. kann ich also irgendwie vorher gucken, in wie viele tokens die zeile zerlegt wird?

2. der wert "PunktNr". anders als vorgesehen, muss der nun doch verändert werden. dazu habe ich ihn schon als int auslesen lassen, nur ist die veränderung nicht ganz einfach: egal, wie lang die zahl ist, bei der ausgabe dürfen nur die letzten 6 zeichen ausgegeben werden.

ich danke euch schon mal, einem wird hier wirklich gut geholfen :)
 

Marco13

Top Contributor
1. StringTokenizer hat Methoden wie "hasMoreTokens, und ich glaube auch "contTokens".
2. Du kannst dir die Zahl als String rauslesen, und dann sowas machen wie
int startIndex = Math.max(zahl.length()-6, 0);
String kurzeZahl = zahl.substring(startIndex, zahl.length());
.... irgendwas mit "substring" auf jeden Fall.... :roll:
 
G

Guest

Gast
danke leute, hat alles wunderbar funktioniert und ist durch grafische oberfläche doch noch richtig schnieke geworden ;)

den haken kann ich als gast wohl nicht setzen... naja auf jeden fall sind meine probleme gelöst :toll:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Koookie Kleines Frage - Antwort Programm (Anfänger) Java Basics - Anfänger-Themen 5
T erstes kleines Programm Java Basics - Anfänger-Themen 17
S Kleines Quiz Programm Java Basics - Anfänger-Themen 4
C Hilfe - Kleines Programm macht mir Schwierigkeiten Java Basics - Anfänger-Themen 2
E Erstes "kleines" Programm Java Basics - Anfänger-Themen 5
fLooojava Passwort generieren - kleines Programm Java Basics - Anfänger-Themen 15
R Kleines Programm, benötige Hilfe! Java Basics - Anfänger-Themen 6
F kleines Programm für ungerade oder gerade Zahl. Java Basics - Anfänger-Themen 18
O Neuen Blackberry 8800 oder Curve gegen kleines Programm Java Basics - Anfänger-Themen 9
M Kleines Programm Java Basics - Anfänger-Themen 5
M kleines Java Programm (Verwaltung) Java Basics - Anfänger-Themen 16
K Kleines Programm zur Stapelverarbeitung schreiben, aber wie? Java Basics - Anfänger-Themen 7
E Kleines Programm programmieren.Nennt sich Tauglichkeitsteste Java Basics - Anfänger-Themen 9
T Kleines Programm - Fehler bei Ausgabe. Java Basics - Anfänger-Themen 5
A Kleines Programm: Mausklick in Frame entgegennehmen. Java Basics - Anfänger-Themen 8
D kleines Programm "in Dateien schreiben" Java Basics - Anfänger-Themen 3
A kleines Programm mit inneren Klassen Java Basics - Anfänger-Themen 9
D Mein kleines Programm etwas schöner machen :-) Java Basics - Anfänger-Themen 13
G kleines Prob bei "net send" programm Java Basics - Anfänger-Themen 2
S Kleines Java-Projekt; Kassenprogramm Java Basics - Anfänger-Themen 7
Kotelettklopfer Kleines Testprogramm mit Interface und einer Usereingabe Java Basics - Anfänger-Themen 16
E Kleines Java-Projekt für Anfänger Java Basics - Anfänger-Themen 10
K Erstes kleines Spieleprojekt - Java GUI in HTML einbinden Java Basics - Anfänger-Themen 3
R Kleines Java Spiel funktioniert nicht. Java Basics - Anfänger-Themen 2
J Kleines Rechenprogramm Java Basics - Anfänger-Themen 13
G Erste Schritte Suche Java Programmierer für kleines Projekt Java Basics - Anfänger-Themen 1
Z Erste Schritte Kleines 2D. Spiel Objekt Bewegung funktioniert nicht Java Basics - Anfänger-Themen 2
B Input/Output Kleines Netzwerkproblem Java Basics - Anfänger-Themen 2
J OOP Kleines Schülerverwaltungsprogramm Java Basics - Anfänger-Themen 9
F Methoden Kleines Problem mit meinem Glücksrad... Java Basics - Anfänger-Themen 9
N ein kleines GUI mit einem hauch XML Java Basics - Anfänger-Themen 5
K Kleines Spiel auf Java programmieren Java Basics - Anfänger-Themen 2
A Kleines Abbruch-Problem mit Do-While-Schleife Java Basics - Anfänger-Themen 4
K Ein kleines Rätsel Java Basics - Anfänger-Themen 2
D kleines problem bei system.out.println schreibweise Java Basics - Anfänger-Themen 6
C Kleines Problem mit System.out.print Java Basics - Anfänger-Themen 1
A Best Practice Ideen für kleines Anfängerschulprojekt gesucht Java Basics - Anfänger-Themen 4
J kleines Karteikartenprogramm Java Basics - Anfänger-Themen 3
S Kleines Zeichen berechnen Java Basics - Anfänger-Themen 5
fLooojava kleines Projekt - Verwendung von Youtube Java Basics - Anfänger-Themen 22
E Array zu Liste - kleines Problem Java Basics - Anfänger-Themen 6
H Kleines Prob Java Basics - Anfänger-Themen 5
J Vererbung Kleines Problem bei Vererbung! Java Basics - Anfänger-Themen 2
O Debug-Funktion mit Slick - Kleines Problem Java Basics - Anfänger-Themen 5
J Flaechen vergleichen/kleines Fehler? Java Basics - Anfänger-Themen 23
H Kleines Problem bei den Schleifen Java Basics - Anfänger-Themen 5
M Kleines Problem mit der Rekursion Java Basics - Anfänger-Themen 20
K Kleines Projekt Java Basics - Anfänger-Themen 2
T Kleines Game mit Kollision Java Basics - Anfänger-Themen 2
J Mal wieder ein kleines Toleranzproblem Java Basics - Anfänger-Themen 20
H kleines Spiel [Processing] Java Basics - Anfänger-Themen 7
T kleines problem mit switch case Java Basics - Anfänger-Themen 11
V Schon wieder ein kleines problem...dieses mal mit do-while loop Java Basics - Anfänger-Themen 9
R Login mit Datenbankabfrage: Kleines Problem! Java Basics - Anfänger-Themen 6
K Kleines Anfänger Problem bei der Abfrage Java Basics - Anfänger-Themen 8
X Kleines JMenuBar Problem Java Basics - Anfänger-Themen 8
D Kleines Abfrageproblem Java Basics - Anfänger-Themen 3
K kleines Rekursionsproblem Java Basics - Anfänger-Themen 7
P RSA Verschlüsselung kleines Problem Java Basics - Anfänger-Themen 5
B Suche kleines Java-Applet Java Basics - Anfänger-Themen 6
P Kleines Problemm mit einer NullPointerException Java Basics - Anfänger-Themen 2
R kleines Kunstprogramm "mkbox" perfektionieren Java Basics - Anfänger-Themen 13
P wahrscheinlich ein kleines Problem Java Basics - Anfänger-Themen 7
P Kleines Projekt -> Große Überlegungen Java Basics - Anfänger-Themen 2
U Bitte Helfen kleines Spiel Java Basics - Anfänger-Themen 9
K Kleines Spiel / Daten speichern Java Basics - Anfänger-Themen 8
T Kleines Spiel realisieren - wie? Java Basics - Anfänger-Themen 6
H Kleines Problem mit der Polymorphie Java Basics - Anfänger-Themen 2
S "Kleines" Problem mit dem Timer Java Basics - Anfänger-Themen 4
K kleines Array-Problem Java Basics - Anfänger-Themen 6
C Kleines 2D Spiel. Problem. Java Basics - Anfänger-Themen 5
T Kleines Verständnissproblem mit Regex Java Basics - Anfänger-Themen 4
U Kleines Problem mit Konstruktor^^ Java Basics - Anfänger-Themen 7
S Kleines Kartenspiel mit Java Java Basics - Anfänger-Themen 2
D kleines Eclipse-Problem ! Java Basics - Anfänger-Themen 2
I Kleines Program, fehler? Java Basics - Anfänger-Themen 2
S kleines Würfelspiel Java Basics - Anfänger-Themen 10
0 Frage zu Architektur: Server eines kleines Spiels Java Basics - Anfänger-Themen 4
C kleines Menü erzeugen und anzeigen Java Basics - Anfänger-Themen 11
S Kleines TickTackTou Java Basics - Anfänger-Themen 10
O Kleines Problem mit Konstruktor mit Parametern aus generischer Klasse...oder so ;) Java Basics - Anfänger-Themen 2
M Kleines Problem mit Threads (synchronized) Java Basics - Anfänger-Themen 3
J Java, kleines denkproblem. :) Java Basics - Anfänger-Themen 4
N Kleines Problemchen mit ButtonGroup Java Basics - Anfänger-Themen 2
W ein kleines Projekt! Aber wie beginnen Java Basics - Anfänger-Themen 4
S Kleines Problem... NaN, Infinity? Java Basics - Anfänger-Themen 9
B Drag and Drop fähige Trackliste..nurnoch ein kleines Problem Java Basics - Anfänger-Themen 16
G Kleines Problem mit File Java Basics - Anfänger-Themen 7
Z kleines projekt Java Basics - Anfänger-Themen 3
G ein kleines java prog - hat aber einen fehler-bitte um hilfe Java Basics - Anfänger-Themen 5
GambaJo Brauche Bewertung + Tipps für mein kleines Projekt Java Basics - Anfänger-Themen 4
N Nur ein kleines Installationsproblem . Java Basics - Anfänger-Themen 5
G Kleines Problem mit Nimmspiel Java Basics - Anfänger-Themen 8
U kleines problem bei ner aufgabe :( Java Basics - Anfänger-Themen 8
G Kleines Problem mit Array Java Basics - Anfänger-Themen 14
M DBCP - Kleines Beispiel Java Basics - Anfänger-Themen 3
R Unicode-Wert in Binär und Dezimal umformen - kleines Problem Java Basics - Anfänger-Themen 1
G Kleines Problem Java Basics - Anfänger-Themen 3
D kleines script abhaengig von Ordner Bilder kopieren Java Basics - Anfänger-Themen 11
G Kleines Grundsatzproblem Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben