Hi,
ich habe ein großes Problem. Und zwar programmiere ich gerade einen Spritkosten-Manager für mehrere PKWs. Jeder PKW ist ein eigenes Objekt. Diese Objekte möchte ich einzeln speichern und laden können. Ich habe ein bisschen gegoogelt und habe die Klasse OutputObjectStream gefunden. Ich habe mich dabei an den Beispielen der Seiten gehalten. Allerdings kommt die nicht mit meinen Objekten klar und stehe nun auf dem Schlauch. Könnt Ihr mir weiter helfen?
Hier der Code:
ich habe ein großes Problem. Und zwar programmiere ich gerade einen Spritkosten-Manager für mehrere PKWs. Jeder PKW ist ein eigenes Objekt. Diese Objekte möchte ich einzeln speichern und laden können. Ich habe ein bisschen gegoogelt und habe die Klasse OutputObjectStream gefunden. Ich habe mich dabei an den Beispielen der Seiten gehalten. Allerdings kommt die nicht mit meinen Objekten klar und stehe nun auf dem Schlauch. Könnt Ihr mir weiter helfen?
Hier der Code:
Code:
import java.io.*;
public class AutoTest implements java.io.Serializable{
public static void main(String[]args){
Auto a1 = new Auto("OHZ-CS 884", 220000, 62);
Auto a2 = new Auto("OHZ-HA 19", 100000, 45);
a1.tanken(220800, 60, 65.00, "Shell");
a1.tanken(221500, 57, 60.00, "Aral");
int oft = a1.getAnzahl();
System.out.println(a1);
try{
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("auto1.car"));
out.writeObject(a1);
out.close();
}catch(IOException e){
System.out.println("Da ging was mit dem Speichern nicht");
}
}
}
Code:
import java.util.*;
public class Auto{
private String kennzeichen;
private int kilometerstand;
private int tankgroesse;
private ArrayList tankungen = new ArrayList();
public Auto(String kennzeichen, int kilometerstand, int tankgroesse){
this.kennzeichen = kennzeichen;
this.kilometerstand = kilometerstand;
this.tankgroesse = tankgroesse;
}
public void tanken(int neuerKilometerstand, int getankteLiter, double gesamtPreis, String kommentar){
int i = tankungen.size();
Tankung tanken = new Tankung(i+1, neuerKilometerstand, getankteLiter, gesamtPreis, kommentar);
tankungen.add(tanken);
}
public int getAnzahl(){
return tankungen.size();
}
}
Code:
public class Tankung{
private int tankungNr;
private int neuerKilometerstand;
private int getankteLiter;
private double gesamtPreis;
private String kommentar;
public Tankung(int tankungNr, int neuerKilometerstand, int getankteLiter, double gesamtPreis, String kommentar){
this.tankungNr = tankungNr;
this.neuerKilometerstand = neuerKilometerstand;
this.getankteLiter = getankteLiter;
this.gesamtPreis = gesamtPreis;
this.kommentar = kommentar;
}