Vector<Object> Probleme

Ich habe Verständnis-Probleme was das arbeiten mit Vector<Object> angeht

ich soll in einer Methode alle serialisierten Objekte in einer Methode zurückgeben:

Beispiel:
Spieler ist eine Klasse die bereits Daten von allen Spielern in einer Datei abgespeichert hat (serialisiert)

Java:
public Vector<Spieler> alleSpieler()
{
    Vector<Spieler> Alle_Spieler = new Vector<Spieler>();  // stimmt das so?

    FileInputStream file_input = new FileInputStream("Spieler");
    ObjectInputStream object_input = new ObjectInputStream(file_input);

...

    return Àlle_Spieler  // (??)

}

Wie schaffe ich es aus der Datei nun alle Spieler in Alle_Spieler zu speichern und das per return zurückzugeben?

Ist der Ansatz richtig ?
und wie wäre es vollständig?

Liebe Grüße,
Chrysler
 
Java:
Spieler player = (Spieler) object_input.readObject();
Alle_Spieler.add(player)
[/JAVa]
Aber du solltest deine Namensgebung etwas überdenken.
 
Java:
Spieler player = (Spieler) object_input.readObject();
Alle_Spieler.add(player)
[/JAVa]
Aber du solltest deine Namensgebung etwas überdenken.[/QUOTE]

Wurde nicht der gesamte Vector serialisiert? Also müsstest du eher auf Vector casten...
Und zu deiner Frage "stimmt das so?" - funktioniert sicherlich, ist aber nicht nötig da einen Vector zu instanziieren
 
Java:
public Vector<Spieler> readSpieler()
{
    Vector<Spieler> Alle_Spieler  = new Vector<Spieler>();  // stimmt das so?
 
    FileInputStream file_input = new FileInputStream("Spieler");
    ObjectInputStream object_input = new ObjectInputStream(file_input);
 
   Spieler player = (Spieler) object_input.readObject();
   Alle_Spieler.add(player)
 
    return Alle_Spieler;
 
}

so korrekt?
 
wahrscheinlich stelle ich jetzt deine Geduld auf die Probe, aber wieso nicht? ich muss doch einen Vector<Object> als Rückgabe haben ...

P.S: bin absoluter Anfänger, bitte Geduld mit mir 😉

Ja das " Vector<Spieler> Alle_Spieler" ist ja auch korrekt (mal von dem Großbuchstaben am Anfang abgesehen *g*), ich meinte aber das " = new Vector<Spieler>();". Das ist überflüssig! Lies vllt auch mal dies hier :rtfm:
 
Die Frage ist, was hast du bei writeObject übergeben ? Einen Spieler, oder den Vektor mit allen Spielern?
Aus deinem ersten Post ("die bereits Daten von allen Spielern in einer Datei abgespeichert hat") ging ich von zweitem aus
 
Die Frage ist, was hast du bei writeObject übergeben ? Einen Spieler, oder den Vektor mit allen Spielern?
Aus deinem ersten Post ("die bereits Daten von allen Spielern in einer Datei abgespeichert hat") ging ich von zweitem aus
Nein, sorry, dann dürfte ich mich falsch ausgedrückt haben...

meinte damit nur dass der Spieler diverse Werte hat wie String, Integer, Double, (eh logisch...) war also von mir eigentlich ein überflüssiges kommentar das eher verwirrt hat ...

aber um konkret zu sein:
im writeobject befindet sich kein Vector, sondern ganz normal ein Spieler
 
Java:
	public Vector<Spieler> readSpieler()
	{
			 Vector<Spieler> alle_spieler = new Vector<Spieler>();
			 FileInputStream file_input = new FileInputStream("Spieler");
			 ObjectInputStream object_input = new ObjectInputStream(file_input);

			 Spieler player = (Spieler)object_input.readObject();
			 alle_spieler.add(player);
			 
			 object_input.close();
			 
			 return alle_spieler;
	}

Fehlermeldung in der Methode:

- This method must return a result of type Vector<Spieler>

P.S:
wenn ich
Java:
Vector<Spieler> alle_spieler;
verwende tauchen fehlermeldung bezüglich initialisierung auf ...
 
Zuletzt bearbeitet:
Hehe..jetzt habe ich dich ganz verwirrt.In dem Fall ist das new Vector.....natürlich erforderlich. Also ich halte mich jetzt raus, zwei Köche verderben den Brei.
Und irgendwie drehen wir uns hier alle im Kreis.
Vllt zeigst du uns auch einfach mal deinen COde und sagst nochmal was genau jetzt dein Problem ist. Der Link oben könnte dir übrigens immer noch helfen !
 
Hehe..jetzt habe ich dich ganz verwirrt.In dem Fall ist das new Vector.....natürlich erforderlich. Also ich halte mich jetzt raus, zwei Köche verderben den Brei.
Und irgendwie drehen wir uns hier alle im Kreis.
Vllt zeigst du uns auch einfach mal deinen COde und sagst nochmal was genau jetzt dein Problem ist. Der Link oben könnte dir übrigens immer noch helfen !

der code ist jetzt eigentlich genau der den ich gepostet habe,

die Klasse

Java:
class Spieler implements serializable

ist ja eigentlich nicht von Bedeutung...


aber ich werde deinem rat folgen und den link auch nochmal genauer durchlesen, vielleicht stoße ich auf weitere Informationen (die ja nie schaden können ... )
 
aber die Fehlermeldung
- This method must return a result of type Vector<Spieler>

ist mir sehr schleierhaft...

"alle_Spieler" ist doch vom Typ Vector<Spieler>, oder täusche ich mich da???
 
Dir kann niemand helfen wenn du uns nicht deinen Code zeigst! Der von dir gepostete Code kann ja schließlich nicht alles sein, schon allein die Fehlerbehandlung fehlt dort komplett.
Code:
implements serializable
ist auch falsch.
 
So, dann sende ich nun meinen kompletten Code - Originaldaten mit Fahrzeug, nicht mit Spieler

Java:
package Blatt2;

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.*;


abstract class Fahrzeug implements Serializable, FahrzeugDAO {
	private String Marke;
	private String Modell;
	private int Baujahr;
	private double Grundpreis;
}

Java:
package Blatt2;

import java.util.*;

public interface FahrzeugDAO {
	public void FahrzeugEinlesen();
	public void FahrzeugAuslesen();
	public Vector<Fahrzeug> readFahrzeuge();

}

Java:
package Blatt2;

import java.io.*;

public class Haupt {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Fahrzeug Erster_LKW = new LKW("MAN", "S800", 2003, 150000);
		Erster_LKW.FahrzeugEinlesen();
		Erster_LKW.FahrzeugAuslesen();
		Fahrzeug Zweiter_LKW = new LKW("MAN", "S900", 2005, 80000);
		Zweiter_LKW.FahrzeugEinlesen();
		Zweiter_LKW.FahrzeugAuslesen();

		Fahrzeug Erster_PKW = new PKW("VW", "Golf", 2007, 20000);
		Erster_PKW.FahrzeugEinlesen();
		Erster_PKW.FahrzeugAuslesen();
	}
}

Java:
package Blatt2;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Vector;

public class LKW extends Fahrzeug {
	
	public LKW(String Marke, String Modell, int Baujahr, int Grundpreis)
	{
		super(Marke, Modell, Baujahr, Grundpreis);
	}
	
	public void FahrzeugEinlesen()
	{
		 try 
		 {
			 FileOutputStream file_output = new FileOutputStream("Fahrzeug");
			 ObjectOutputStream object_output = new ObjectOutputStream(file_output);
			 
			 object_output.writeObject(this);
			 
			 object_output.close();

		 } 
		 catch (IOException e) 
		 {
			 System.err.println(e.toString());
		 }
	}
	public void FahrzeugAuslesen()
	{
		 try 
		 {
			 FileInputStream file_input = new FileInputStream("Fahrzeug");
			 ObjectInputStream object_input = new ObjectInputStream(file_input);
			 
			 Fahrzeug LKW_read = (Fahrzeug)object_input.readObject();
			 System.out.println(LKW_read.toString());
			 
			 object_input.close();

		 } 
		 catch (ClassNotFoundException e) 
		 {
			 System.err.println(e.toString());
		 } 
		 catch (IOException e) 
		 {
			 System.err.println(e.toString());
		 }
	}

}

Java:
package Blatt2;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Vector;

public class PKW extends Fahrzeug {

	String[] Ausstattungspaket = {"Ledersitz", "Airbag"};
	
	public PKW(String Marke, String Modell, int Baujahr, int Grundpreis)
	{
		super(Marke, Modell, Baujahr, Grundpreis);
	}

	int getAusstattung()
	{
		return this.Ausstattungspaket.length;
	}
	
	public void FahrzeugEinlesen()
	{
		 try 
		 {
			 FileOutputStream file_output = new FileOutputStream("Fahrzeug");
			 ObjectOutputStream object_output = new ObjectOutputStream(file_output);
			 
			 object_output.writeObject(this);
			 
			 object_output.close();

		 } 
		 catch (IOException e) 
		 {
			 System.err.println(e.toString());
		 }
	}
	public void FahrzeugAuslesen()
	{
		 try 
		 {
			 FileInputStream file_input = new FileInputStream("Fahrzeug");
			 ObjectInputStream object_input = new ObjectInputStream(file_input);
			 
			 Fahrzeug PKW_read = (Fahrzeug)object_input.readObject();
			 System.out.println(PKW_read.toString());
			 
			 object_input.close();

		 } 
		 catch (ClassNotFoundException e) 
		 {
			 System.err.println(e.toString());
		 } 
		 catch (IOException e) 
		 {
			 System.err.println(e.toString());
		 }
	}
}

Java:
package Blatt2;

import java.util.Vector;
import java.io.*;

public class SerializedFahrzeugDAO implements FahrzeugDAO {
	public Vector<Fahrzeug> readFahrzeuge()
	{
		 try 
		 {
			 Vector<Fahrzeug> sammlung = new Vector<Fahrzeug>();
			 FileInputStream file_input = new FileInputStream("Fahrzeug");
			 ObjectInputStream object_input = new ObjectInputStream(file_input);

			 Fahrzeug kfz = (Fahrzeug)object_input.readObject();
			 sammlung.add(kfz);
			 
			 object_input.close();
			 
			 return sammlung;
		 } 
		 catch (ClassNotFoundException e) 
		 {
			 System.err.println(e.toString());
		 } 
		 catch (IOException e) 
		 {
			 System.err.println(e.toString());
		 }
	}
	
	public void FahrzeugEinlesen()
	{
		 try 
		 {
			 FileOutputStream file_output = new FileOutputStream("Fahrzeug");
			 ObjectOutputStream object_output = new ObjectOutputStream(file_output);
			 
			 object_output.writeObject(this);
			 
			 object_output.close();

		 } 
		 catch (IOException e) 
		 {
			 System.err.println(e.toString());
		 }
	}
	
	public void FahrzeugAuslesen()
	{
		 try 
		 {
			 FileInputStream file_input = new FileInputStream("Fahrzeug");
			 ObjectInputStream object_input = new ObjectInputStream(file_input);
			 
			 LKW LKW_read = (LKW)object_input.readObject();
			 System.out.println(LKW_read.toString());
			 
			 object_input.close();

		 } 
		 catch (ClassNotFoundException e) 
		 {
			 System.err.println(e.toString());
		 } 
		 catch (IOException e) 
		 {
			 System.err.println(e.toString());
		 }
	}
 
Das ist genau das was ich schon meinte. Was passiert bei dir wenn eine ClassNotFoundException oder IOException auftritt? (außer dass du eine Meldung ausgibst?) das [c] return sammlung;[/c] wird nicht ausgeführt, daher meckert er! Füge unten halt noch
Code:
return null;
o.ä. ein
 
Das ist genau das was ich schon meinte. Was passiert bei dir wenn eine ClassNotFoundException oder IOException auftritt? (außer dass du eine Meldung ausgibst?) das [c] return sammlung;[/c] wird nicht ausgeführt, daher meckert er! Füge unten halt noch
Code:
return null;
o.ä. ein

OKAY ! das wär mal ne erste Lösung, wird aber wohl nicht das einzige problem bleiben!

Aber THANKS fürs erste !
 
anders formuliert:
bei Methoden die einen Wert zurückgeben und wo ein try-catch block verwendet wird muss im catch ebenso ein return-wert stehen, seh ich das richtig?

natürlich seh ich das richtig, ergibt ja auch sinn :applaus:

ja ich tu mir schwer - DANKE :toll:
 
Zuletzt bearbeitet:
weitere Frage:

Wie kann ich alle Fahrzeuge rauslesen, es gibt mir irgendwie immer nur das letzte Objekt aus

Java:
public Vector<Fahrzeug> readFahrzeuge()
	{
		 try 
		 {
			 Vector<Fahrzeug> sammlung = new Vector<Fahrzeug>();
			 FileInputStream file_input = new FileInputStream("Fahrzeug");
			 ObjectInputStream object_input = new ObjectInputStream(file_input);

			 Fahrzeug[] kfz = new Fahrzeug[10];
			 
			 int i=0;
			 while(i<3) // 3 Fahrzeuge
			 {
				 kfz[i] = (Fahrzeug)object_input.readObject();
				 sammlung.add(kfz[i]);
				 i++;
			 }
			// Fahrzeug kfz = (Fahrzeug)object_input.readObject();
			// sammlung.add(kfz);
			 
			 object_input.close();
			 
			 return sammlung;
		 } 
		 catch (ClassNotFoundException e) 
		 {
			 System.err.println(e.toString());
			 return null;
		 } 
		 catch (IOException e) 
		 {
			 System.out.println("End of File");
			 return null;
		 }
	}
 
Hi ,
ich arbeite auch auf dieser Aufgabe.
Bie dir sehe ich die Folgende Fehler ->
1.
Java:
 abstract class Fahrzeug implements Serializable, FahrzeugDAO {
Das glaube ich ist falsch. So muss du alle Methoden von class FahrzeugDAO in die Classen LKW und PKW implementieren. Bei dir fählt
Java:
    public Vector<Fahrzeug> readFahrzeuge();
2. In der Classe Fahrzeug brauchst du einen Konstruktor - >
Java:
 Fahrzeug (String Marke, String Modell, int Baujahr, int Grundpreis){
    	this.Marke = Marke;
    	this.Modell = Modell;
    	this.Baujahr = Baujahr;
    	this.Grundpreis = Grundpreis;
    }

3. Die interface FahrzeugDAO soll die folgenden Methoden enthalten
[JAVA=42]
interface FahrzeugDAO{
Vector <Fahrzeug> readFahrzeuge();
void storeFahrzeuge(Vector <Fahrzeug> f);
}
[/code]

Ich bin noch am Anfang, aber wir könnten uns helfen.
Du kannst mich in Skype unter mirmidon86 erreichen!
Grüß
 
[OFFTOPIC]
Ich habe im Chat schon zu XHelp gesagt dass wir bis mind. Seite 3 uns noch im Kreis drehen werden, und ich scheine Recht zu behalten 🙂
[/OFFTOPIC]

readObject() liest eben auch nur ein Objekt. Deswegen war mein Vorschlag ja zu Beginn du sollst nicht immer nur ein Personen-Objekt serialisieren, sondern direkt die ganze Liste, dann reicht beim Deserialisierne auch nur ein readObject(), ansonsten musst du es eben so oft lesen/aufrufen wie du Personen/Fahrzeuge hast.Aber das kommt eben auch auf:
Ist das eine Hausaufgabe? Dann könnte es auch hilfreich sein die Aufgabenstellung zu wissen.
an^^
(EDIT: okay anscheinend ist es eine 🙂 )
 
Hi ,
ich arbeite auch auf dieser Aufgabe.
Bie dir sehe ich die Folgende Fehler ->
1.
Java:
 abstract class Fahrzeug implements Serializable, FahrzeugDAO {
Das glaube ich ist falsch. So muss du alle Methoden von class FahrzeugDAO in die Classen LKW und PKW implementieren. Bei dir fählt
Java:
    public Vector<Fahrzeug> readFahrzeuge();
2. In der Classe Fahrzeug brauchst du einen Konstruktor - >
Java:
 Fahrzeug (String Marke, String Modell, int Baujahr, int Grundpreis){
    	this.Marke = Marke;
    	this.Modell = Modell;
    	this.Baujahr = Baujahr;
    	this.Grundpreis = Grundpreis;
    }

3. Die interface FahrzeugDAO soll die folgenden Methoden enthalten
[JAVA=42]
interface FahrzeugDAO{
Vector <Fahrzeug> readFahrzeuge();
void storeFahrzeuge(Vector <Fahrzeug> f);
}
[/code]

Ich bin noch am Anfang, aber wir könnten uns helfen.
Du kannst mich in Skype unter mirmidon86 erreichen!
Grüß

hab ich alles drin, nur nicht in den code hier gepackt 😉

ich werd dich gleich adden ..
 
[OFFTOPIC]
Ich habe im Chat schon zu XHelp gesagt dass wir bis mind. Seite 3 uns noch im Kreis drehen werden, und ich scheine Recht zu behalten 🙂
[/OFFTOPIC]

readObject() liest eben auch nur ein Objekt. Deswegen war mein Vorschlag ja zu Beginn du sollst nicht immer nur ein Personen-Objekt serialisieren, sondern direkt die ganze Liste, dann reicht beim Deserialisierne auch nur ein readObject(), ansonsten musst du es eben so oft lesen/aufrufen wie du Personen/Fahrzeuge hast.Aber das kommt eben auch auf:
Ist das eine Hausaufgabe? Dann könnte es auch hilfreich sein die Aufgabenstellung zu wissen.
an^^
(EDIT: okay anscheinend ist es eine 🙂 )
es ist eine aufgabe ja 😉

und es ist vorgegeben dass mit dieser methode:

Java:
public Vector<Fahrzeug> readFahrzeuge();

eben alle Fahrzeuge ausgegeben werden sollen ...
 
Vermutlich besteht aber die Aufgabe aus mehr als einem halben Satz und einem Methodenkopf...
Vermutlich ist das plus der gesamte methoden-code genug um die lösung zu finden 😉

deswegen poste ich normalerweise ungerne die gesamte aufgabenstellung und den gesamten code,
sonst könntets ihr gleich die gesamte aufgabe für mich lösen, was wohl nicht sinn der sache ist !

ich will mich lieber auf einzelne probleme beziehen und diese einzeln lösen, damit ich auch besser weiß, was eigentlich der fehler war und wie man damit am besten klarkommt, und dazu ist nun mal nicht der gesamte code notwendig, wie es sich auch vorher bestätigt hat,
es hat sich aber auch bestätigt, dass ich zuerst bisschen zu wenig code preisgegeben habe um das problem zu finden, aber das steht in einem anderen buch 😉
 
Der Compiler hat doch eigentlich immer recht ;-)

In der Methode SerializedFahrzeugDAO.readFahrzeug() fehlt im Fall einer Exception der return Wert
Ob "return null" richtig ist, musst du selbst beurteilen.
Der Javakompiler überprüft soweit wie möglich ob in JEDEM Pfad ein return statement steht
(und am Schluss fehlt eine } aber das ist ein Detail)

In der Klasse Fahrzeug fehlt der Konstruktor und bei PKW sowie LKW fehlt die Methode readFahrzeug().
Ausserdem habe ich die Namensgebung angepasst - ein Teil davon mag mein persönlicher Geschmack sein, aber es gibt auch Regeln die man einhalten sollte (Prozedur, Variablen- und Parameternamen mit Kleinbuchstaben am Anfang (das ist glaub persönlicher Geschmack: m steht für Member, p für Parameter) und Klassennamen gross. Es erleichtert die Wartbarkeit schon ein wenig, wenn gewisse Notationsregelen eingehalten werden.

Wieso in der Javacommunity _ in Namen unerwünscht sind, weiss ich nicht - "es_würde_nämlich_die_Lesbarkeit_verbessern", "AberInJavaWirdAllesNachDerKamelrückenMethodeGeschrieben" ;-)

Dem Kompiler sind diese Regeln egal

Dieser Code ist komplierbar aber noch unvollständig ... schau mal ob es auch das ist was du willst ;-)

Java:
package Blatt2;

import java.io.Serializable;

abstract class Fahrzeug implements Serializable, FahrzeugDAO {

	private static final long serialVersionUID = 1L;

	public Fahrzeug(String pMarke, String pModell, int pBaujahr, int pGrundpreis) {
		mMarke = pMarke;
		mModell = pModell;
		mBaujahr = pBaujahr;
		mGrundpreis= pGrundpreis;
	}

	private String mMarke;
	private String mModell;
	private int mBaujahr;
	private double mGrundpreis;
}

Java:
package Blatt2;
 
import java.util.*;
 
public interface FahrzeugDAO {
    public void fahrzeugEinlesen();
    public void fahrzeugAuslesen();
    public Vector<Fahrzeug> readFahrzeuge();
 
}

Java:
package Blatt2;

public class Haupt {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Fahrzeug ersterLKW = new LKW("MAN", "S800", 2003, 150000);
		ersterLKW.fahrzeugEinlesen();
		ersterLKW.fahrzeugAuslesen();
		Fahrzeug zweiterLKW = new LKW("MAN", "S900", 2005, 80000);
		zweiterLKW.fahrzeugEinlesen();
		zweiterLKW.fahrzeugAuslesen();

		Fahrzeug ersterPKW = new PKW("VW", "Golf", 2007, 20000);
		ersterPKW.fahrzeugEinlesen();
		ersterPKW.fahrzeugAuslesen();
	}
}

Java:
package Blatt2;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Vector;

public class LKW extends Fahrzeug {

	private static final long serialVersionUID = 1L;

	public LKW(String pMarke, String pModell, int pBaujahr, int pGrundpreis)
	{
		super(pMarke, pModell, pBaujahr, pGrundpreis);
	}

	public void fahrzeugEinlesen()
	{
		try 
		{
			FileOutputStream fileOutput = new FileOutputStream("Fahrzeug");
			ObjectOutputStream object_output = new ObjectOutputStream(fileOutput);

			object_output.writeObject(this);

			object_output.close();

		} 
		catch (IOException e) 
		{
			System.err.println(e.toString());
		}
	}
	public void fahrzeugAuslesen()
	{
		try 
		{
			FileInputStream fileInput = new FileInputStream("Fahrzeug");
			ObjectInputStream objectInput = new ObjectInputStream(fileInput);

			Fahrzeug lkwRead = (Fahrzeug)objectInput.readObject();
			System.out.println(lkwRead.toString());

			objectInput.close();

		} 
		catch (ClassNotFoundException e) 
		{
			System.err.println(e.toString());
		} 
		catch (IOException e) 
		{
			System.err.println(e.toString());
		}
	}

	@Override
	public Vector<Fahrzeug> readFahrzeuge() {
		// TODO Auto-generated method stub
		return null;
	}

}

Java:
package Blatt2;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Vector;

public class PKW extends Fahrzeug {

	private static final long serialVersionUID = 1L;

	String[] Ausstattungspaket = {"Ledersitz", "Airbag"};

	public PKW(String pMarke, String pModell, int pBaujahr, int pGrundpreis)
	{
		super(pMarke, pModell, pBaujahr, pGrundpreis);
	}

	int getAusstattung()
	{
		return this.Ausstattungspaket.length;
	}

	public void fahrzeugEinlesen()
	{
		try 
		{
			FileOutputStream fileOutput = new FileOutputStream("Fahrzeug");
			ObjectOutputStream objectOutput = new ObjectOutputStream(fileOutput);

			objectOutput.writeObject(this);

			objectOutput.close();

		} 
		catch (IOException e) 
		{
			System.err.println(e.toString());
		}
	}
	public void fahrzeugAuslesen()
	{
		try 
		{
			FileInputStream fileInput = new FileInputStream("Fahrzeug");
			ObjectInputStream objectInput = new ObjectInputStream(fileInput);

			Fahrzeug pkwRread = (Fahrzeug)objectInput.readObject();
			System.out.println(pkwRread.toString());

			objectInput.close();

		} 
		catch (ClassNotFoundException e) 
		{
			System.err.println(e.toString());
		} 
		catch (IOException e) 
		{
			System.err.println(e.toString());
		}
	}

	@Override
	public Vector<Fahrzeug> readFahrzeuge() {
		// TODO Auto-generated method stub
		return null;
	}
}
 
Zuletzt bearbeitet:
ähm - wer sich jetzt wundert dass sich mein Posting auf etwas Altes bezieht und gewisse Anworten anderer nicht berücksichtigt - das Forum hat mir erst jetzt angezeigt, dass da schon einige Antworten waren - seltsam, aber was solls
 
deswegen poste ich normalerweise ungerne die gesamte Aufgabenstellung und den gesamten code, sonst könntet ihr gleich die gesamte Aufgabe für mich lösen, was wohl nicht Sinn der Sache ist!

Aber um etwas zu verstehen braucht es oftmals etwas mehr als nur einige Zeilen und das Zweite ist, dass es bei solchen Aufgabenstellungen wohl kaum darum geht, den Code kompilierbar hinzubringen, sondern den Methoden mit vernünftigem Inhalt auszufüllen und das habe ich dir nicht abgenommen ;-)

(Ach ja, meine letze Weiterbildung habe ich im November 2009 abgeschlossen und in über 90% aller fälle hatten wir ein kompilierbares und mehr oder wenige lauffähiges System als Ausgangslage.
 
ähm - wer sich jetzt wundert dass sich mein Posting auf etwas Altes bezieht und gewisse Anworten anderer nicht berücksichtigt - das Forum hat mir erst jetzt angezeigt, dass da schon einige Antworten waren - seltsam, aber was solls

trotzdem danke!
sind zwar Punkte die ich bereits wusste, aber für einen anfänger immer wieder gut von anderen personen dinge anders erklärt zu bekommen (da dadurch meist verständlicher) 🙂
 
Aber um etwas zu verstehen braucht es oftmals etwas mehr als nur einige Zeilen und das Zweite ist, dass es bei solchen Aufgabenstellungen wohl kaum darum geht, den Code kompilierbar hinzubringen, sondern den Methoden mit vernünftigem Inhalt auszufüllen und das habe ich dir nicht abgenommen ;-)

(Ach ja, meine letze Weiterbildung habe ich im November 2009 abgeschlossen und in über 90% aller fälle hatten wir ein kompilierbares und mehr oder wenige lauffähiges System als Ausgangslage.
ist sicherlich nicht falsch und du wirst damit auch genug erfahrung haben,
nur wenn es nicht kompilierbar ist, dann ist es auch nicht lauffähig, ich wollte zuerst die kompilierbarkait testen, da das der augenscheinlichste fehler war, dass es danach noch immer nicht funktionieren muss ist mir ja auch klar 🙂
 
He Jungs ich bräuchte wieder Hilfe zu diesem Beispiel...

ich habe ein deserialisiertes Objekt der Klasse Fahrzeug,
nun kann ich den ganzen Vektor mit allen Fahrzeugen auslesen,

ich würde aber gerne Informationen erhalten aus den einzelnen Objekten, mit den Fragen:
- Handelt es sich um ein LKW, oder ein PKW (das sind jeweils Kinder von Fahrzeug)
- welches Baujahr haben die einzelnen Objekte (also von PKW[0] - Attribut Baujahr rausfinden)

Java:
Vector<Fahrzeug> allewagen = new Vector<Fahrzeug>();
		allewagen = serfahrzeug.readFahrzeuge();
		System.out.println(allewagen);
		
		FileInputStream file_input = new FileInputStream(filename);
		ObjectInputStream object_input = new ObjectInputStream(file_input);

               Vector<Fahrzeug> readObject = (Vector<Fahrzeug>)object_input.readObject();
 
He Jungs ich bräuchte wieder Hilfe zu diesem Beispiel...

ich habe ein deserialisiertes Objekt der Klasse Fahrzeug,
nun kann ich den ganzen Vektor mit allen Fahrzeugen auslesen,

ich würde aber gerne Informationen erhalten aus den einzelnen Objekten, mit den Fragen:
- Handelt es sich um ein LKW, oder ein PKW (das sind jeweils Kinder von Fahrzeug)
- welches Baujahr haben die einzelnen Objekte (also von PKW[0] - Attribut Baujahr rausfinden)

Java:
Vector<Fahrzeug> allewagen = new Vector<Fahrzeug>();
		allewagen = serfahrzeug.readFahrzeuge();
		System.out.println(allewagen);
		
		FileInputStream file_input = new FileInputStream(filename);
		ObjectInputStream object_input = new ObjectInputStream(file_input);

               Vector<Fahrzeug> readObject = (Vector<Fahrzeug>)object_input.readObject();
Okay, zunächst selbst ausprobieren, dann fragen...

mit
readObject. kann ich auf einzelne Elemente zugreifen

wie erfahre ich nur ob es sich dabei um ein PKW oder ein LKW handelt?
 

Zurück
Oben