cybton.com
Über uns | Jobs | Werbung | Sitemap | AGB | Impressum | Hilfe ?
 Kostenlos anmelden)
Forum
Aktuellste Beiträge
Forenregeln

Community
BB-Codes
Tags
Chat
Suche (Web)
Wer ist online?
Top-User

Basar


Statistik
Mitglieder gesamt: 68142
Mitglieder online: 1
Gäste online: 3
mehr...

Anzeige
Forum » Forum: Softwareprogrammierung » Thread: [Java] ArrayList macht nicht, was sie soll

Thread: [Java] ArrayList macht nicht, was sie soll


22.06.2008 18:45 Uhr

 

Status: offline
Immer noch mein tolles Fuhrpark Management System.
Ich bin jetzt soweit, dass ich Meine Datensätze beim Programmstart in eine ArrayList speichere um so effizienter mit den Daten arbeiten zu können.
Wenn das Programm beendet wird, werden die Daten aus der ArrayList wieder in die Datei geschrieben.
Das funktioniert soweit alles ganz gut. Zumindest solange ich nur einen Datensatz habe.
Sobald ich den Datensatz aus der Datei lese und dann einen weiteren anfügen möchte überspeichert er innerhalb der ArrayList meinen ersten Datensatz mit dem neuen und schreibt ihn aber gleich nochmal dahinter.
+ java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
                                  String parkplatz = (String) parkc.getSelectedItem();
                                  String stellplatz = (String) stellc.getSelectedItem();
                                  Fahrzeug f;
                                  
                                  for(int i=0; i<fuhrpark.kfzdata.size(); i++) {
                                      f = (Fahrzeug) fuhrpark.kfzdata.get(i);
                                        if (parkplatz.equals(f.Parkplatz.toString()) && stellplatz.equals(f.Stellplatz.toString())) {
                                              JPanel mainPanel2 = new JPanel();
                                          JPanel bottomPanel2 = new JPanel();
                                          
                                          JLabel besetzt = new JLabel("Stellplatz besetzt");
                                            JButton ok = new JButton("OK");
                                          
                                        final JDialog d2 = new JDialog();
                                        mainPanel2.setLayout(new GridLayout(1,2,2,2));
                                          bottomPanel2.setLayout(new FlowLayout(FlowLayout.RIGHT));
                                          d2.setLayout(new BorderLayout(5,50));
                                          
                                          Dimension frameSize = new Dimension(200,150);
                                          Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); 
                                          int top = (screenSize.height - frameSize.height) / 2;
                                        int left = (screenSize.width - frameSize.width) / 2; 
                                          d2.setLocation(left, top);
                                          
                                        d2.add(mainPanel2);
                                        d2.add(bottomPanel2, BorderLayout.PAGE_END);
                                        
                                        mainPanel2.add(fehlt);
                                        bottomPanel2.add(ok);
                                          d2.setSize(200, 150);
                                          d2.setTitle("Stellplatz besetzt");
                                        d2.setVisible( true );
                                        
                                        ok.addMouseListener(new MouseAdapter()
                                        {
                                              public void mousePressed(MouseEvent e)
                                             {
                                                    d2.setVisible(false);
                                                d2.dispose();
                                                d.setVisible( true );
                                             }
                                        });
                                          }
                                  }
                                  
                                  Date dt2 = new Date();
                                SimpleDateFormat df2 = new SimpleDateFormat( "yyyyMMdd" );
                                String date2 = df2.format(dt2);
                                String fullid = null;
                                  
                                if(!fuhrpark.kfzdata.isEmpty()) {
                                      f = (Fahrzeug) fuhrpark.kfzdata.get(fuhrpark.kfzdata.size() -1);
 
                                    int test = Integer.parseInt(f.FahrzeugID.toString().substring(0, 8));
                                    int id2 = Integer.parseInt(f.FahrzeugID.toString().substring(8));
                                    
                                    if (f.FahrzeugID == null)
                                    {
                                          System.out.println("Fehler in der id!");
                                    }
                                    else
                                    {
                                          if (Integer.parseInt(date2) == test)
                                          {
                                                
                                                while (id <= id2) {
                                                      id = id + 1;
                                                }
                                          }
                                    }
                                    
                                    fullid = date2 + id;
                                      
                                      f.FahrzeugID = Integer.parseInt(fullid);
                                      f.Marke = (String) markec.getSelectedItem();
                                      f.Typ = (String) typc.getSelectedItem();
                                      f.Berechtigungsart = (String) berec.getSelectedItem();
                                      f.Erstzulassung = Long.parseLong(erstzt.getText());
                                      f.Kaufpreis = Long.parseLong(preist.getText());
                                      f.Ladevolumen = Integer.parseInt(volt.getText());
                                      f.Sitzplaetze = Integer.parseInt(plaetzet.getText());
                                      f.Leistung = Integer.parseInt(leistungt.getText());
                                      f.Kilometerstand = Long.parseLong(kilometert.getText());
                                      f.Kraftstoff = (String) kraftstoffc.getSelectedItem();
                                      f.Inspektion = Long.parseLong(inspt.getText());
                                      f.HU = Long.parseLong(hut.getText());
                                      f.AU = Long.parseLong(aut.getText());
                                      f.Versicherung = (String) versc.getSelectedItem();
                                      f.KategorieID = (String) kategc.getSelectedItem();
                                      f.Parkplatz = (String) parkc.getSelectedItem();
                                      f.Stellplatz = (String) stellc.getSelectedItem();
                                      f.Status = "frei";
                                      f.Schaden = "";
                                      f.EOD = "";
                                }
                                else {
                                      fullid = date2 + id;
                                      
                                      f = new Fahrzeug();
                                      
                                      f.FahrzeugID = Integer.parseInt(fullid);
                                      f.Marke = (String) markec.getSelectedItem();
                                      f.Typ = (String) typc.getSelectedItem();
                                      f.Berechtigungsart = (String) berec.getSelectedItem();
                                      f.Erstzulassung = Long.parseLong(erstzt.getText());
                                      f.Kaufpreis = Long.parseLong(preist.getText());
                                      f.Ladevolumen = Integer.parseInt(volt.getText());
                                      f.Sitzplaetze = Integer.parseInt(plaetzet.getText());
                                      f.Leistung = Integer.parseInt(leistungt.getText());
                                      f.Kilometerstand = Long.parseLong(kilometert.getText());
                                      f.Kraftstoff = (String) kraftstoffc.getSelectedItem();
                                      f.Inspektion = Long.parseLong(inspt.getText());
                                      f.HU = Long.parseLong(hut.getText());
                                      f.AU = Long.parseLong(aut.getText());
                                      f.Versicherung = (String) versc.getSelectedItem();
                                      f.KategorieID = (String) kategc.getSelectedItem();
                                      f.Parkplatz = (String) parkc.getSelectedItem();
                                      f.Stellplatz = (String) stellc.getSelectedItem();
                                      f.Status = "frei";
                                      f.Schaden = "";
                                      f.EOD = "";
                                }
                                fuhrpark.kfzdata.add(f);
                                System.out.println("fuhrpark.kfzdata.get(0): " + fuhrpark.kfzdata.get(0).FahrzeugID); //200806222 (vorher 200806221)
                                System.out.println("fuhrpark.kfzdata.get(1): " + fuhrpark.kfzdata.get(1).FahrzeugID); //200806222 (vorher null)
Hat jemand eine Ahnung, warum das nicht beim zweiten Datensatz funktioniert?  :question:   :question:   :question: 
___________________________
Live your life everyday.
http://www.linksworld24.de.vu Besucht meine HP und macht mit.
23.06.2008 11:56 Uhr

 

Status: offline
In dem Code kommt genau einmal ein Add für das ArrayList-Objekt vor. Vielleicht habe ich es in der Wurst aus GUI-Code und funktionalem Code (ich weis, nicht sehr subtil) übersehen, aber wann kommt die erste Zuweisung?
___________________________
"Etre fort pour être utile" - Georges Hébert
23.06.2008 20:36 Uhr

 

Status: offline
Die hab ich nicht mir gepostet, weil sie egal ist.
Nur der Vollständigkeit halber:
Das erste Element wir beim Programmstart aus einer Datei geladen.

Der Fehler tritt aber auch auf, wenn man zweimal hintereinander diesen Wust aus GUI und Funktionalität (*subtilenwinkerkanntundignoriertdabeidemprojektegal*) aufruft.
+ Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
final ArrayList<Fahrzeug> kfzdata = new ArrayList<Fahrzeug>();
 
int zähler = 0;
 
try {
    RandomAccessFile eingabe = new RandomAccessFile("fahrzeug.dat", "rw");
    while (eingabe.length() > zähler * 1130) {
        fahrzeug = new Fahrzeug(null);
        eingabe.seek(zähler * 1130);
        fahrzeug.FahrzeugID = Integer.parseInt(eingabe.readUTF());
        kfzdata.add(fahrzeug);
        
        zähler++;
    }
    eingabe.close();
}
catch (IOException ex) {
    ex.printStackTrace();
}
Hier der vereinfachte Code zum auslesen aus der Datei mit Speicherung der enthaltenen Fahrzeuge in die ArayList.
Java:
1
2
3
4
5
6
7
8
9
10
11
12
Fahrzeug f;
for(int i=0; i<fuhrpark.kfzdata.size(); i++) {
    f = (Fahrzeug) fuhrpark.kfzdata.get(i);
}
 
f = new Fahrzeug();
 
f.FahrzeugID = Integer.parseInt(fullid);
 
fuhrpark.kfzdata.add(f);
System.out.println("fuhrpark.kfzdata.get(0): " + fuhrpark.kfzdata.get(0).FahrzeugID); //200806222 (vorher 200806221)
System.out.println("fuhrpark.kfzdata.get(1): " + fuhrpark.kfzdata.get(1).FahrzeugID); //200806222 (vorher null)
Hier der vereinfachte Code zum anhängen eines neuen Fahrzeugs an die ArrayList.
___________________________
Live your life everyday.
http://www.linksworld24.de.vu Besucht meine HP und macht mit.
Ähnliche Threads Forum Ähnlichkeitsgrad
 [Java] Variablen während der Laufzeit dynamisch benennen Softwareprogrammierung 2
 MyAlikes wird bestimmt so der Hammer! Das Promotion-Board 1
 php und klassen, und was nun? Website & Webprogrammierung 1
 Java Applets reagieren komisch Software & Betriebssysteme 1
 JAVA: Bilder verkleinern Softwareprogrammierung 1
 CSS Bild wird durch anderes überschrieben Webdesign 1
 [gelöst] [Java] Kann mir einer sagen, wie ich die EOFException weg bekomme? Softwareprogrammierung 1
nach obennach oben

Copyright © 2008 cybton-network

Google
Partner: #Musik - Dein Internetradio - nexem. - .wir machen news - Your-Book.net - Dein kostenloses Gästebuch
ANEXIA - PHP Entwicklung - Dockers - s.Oliver Schuhe - Think Schuhe - der eigene Weg - Dorfen - Paul Green Schuhe - Bequeme Geox - Web-Entwicklung