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
 

XHelp

Top Contributor
Java:
Spieler player = (Spieler) object_input.readObject();
Alle_Spieler.add(player)
[/JAVa]
Aber du solltest deine Namensgebung etwas überdenken.
 

eRaaaa

Top Contributor
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?
 

eRaaaa

Top Contributor
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:
 

eRaaaa

Top Contributor
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:

eRaaaa

Top Contributor
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???
 

eRaaaa

Top Contributor
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());
		 }
	}
 

eRaaaa

Top Contributor
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;
		 }
	}
 

mirmidon

Neues Mitglied
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üß
 

eRaaaa

Top Contributor
[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 ;)
 

Andi_CH

Top Contributor
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:

Andi_CH

Top Contributor
ä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
 

Andi_CH

Top Contributor
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?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Rekursions Probleme / frage Java Basics - Anfänger-Themen 4
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
C Probleme mit Byte konvertieren nach int Java Basics - Anfänger-Themen 10
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
I Projekte in IDE untereinander sharen / Probleme beim Build Java Basics - Anfänger-Themen 8
MiMa Probleme mit Datentyp long ?? Java Basics - Anfänger-Themen 2
T Probleme beim Import eines Git-Repos Java Basics - Anfänger-Themen 2
Jxhnny.lpz TicTacToe Spiel vs Computer. (Probleme) Java Basics - Anfänger-Themen 7
B Quiz mit RMI Probleme mit RMI start Java Basics - Anfänger-Themen 4
httprt Probleme bei dem erstellen von leveln in meinem Spiel Java Basics - Anfänger-Themen 2
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
V Probleme Guessing Game Java Basics - Anfänger-Themen 8
hebein PDF Ausdruck auf Drucker - Probleme mit Format Java Basics - Anfänger-Themen 17
R JMenu/JMenuItem Probleme Java Basics - Anfänger-Themen 2
B Static vs non static und Probleme daraus Java Basics - Anfänger-Themen 13
J Probleme mit dem Debugger Java Basics - Anfänger-Themen 4
I Probleme mit OutputStream - Datei lässt sich nicht öffnen Java Basics - Anfänger-Themen 4
J Probleme mit Kompilierung Java Basics - Anfänger-Themen 11
B Probleme mit Zugriff auf Dateisystem Windows 10 ( jFileChooser) Java Basics - Anfänger-Themen 17
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
C Probleme mit paintComponent Java Basics - Anfänger-Themen 13
P Probleme mit JUnit-Tests, es kommt was anderes raus als bei manuellen Tests Java Basics - Anfänger-Themen 5
E JavaFX Editor Probleme mit der Zwischenablage Java Basics - Anfänger-Themen 12
C Probleme mit dem Erstellen und Importieren von Packages Java Basics - Anfänger-Themen 6
3 OOP erste Versuche, OOP zu verstehen. Probleme mit gettern und settern Java Basics - Anfänger-Themen 4
R Erste Schritte Probleme bei 2D Spielfeld, mit einzufügender "Person" Java Basics - Anfänger-Themen 5
P Probleme bei der Installation von JavaFX Java Basics - Anfänger-Themen 3
S Mehrere Probleme im Code Java Basics - Anfänger-Themen 7
D Probleme mit JFrame und der Größe Java Basics - Anfänger-Themen 8
Dimax String Probleme Java Basics - Anfänger-Themen 12
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
Splayfer Java Array Probleme Java Basics - Anfänger-Themen 3
J Probleme bei IllegalArgumentException "werfen". Java Basics - Anfänger-Themen 1
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
X Probleme im Umgang mit PriorityQueue Java Basics - Anfänger-Themen 75
D Probleme mit dem Windowbuilder und JComboBox Java Basics - Anfänger-Themen 2
M Regex Probleme (mal wieder) Java Basics - Anfänger-Themen 3
tom.j85 TicTacToe - probleme beim Casten Java Basics - Anfänger-Themen 6
J Probleme mit Vererbung Java Basics - Anfänger-Themen 4
X Probleme mit Übungsaufgaben zu Zahlentypen Java Basics - Anfänger-Themen 4
G Probleme bei Aufgabe Java Basics - Anfänger-Themen 12
P Erste Schritte Probleme mit dem Programmieren Java Basics - Anfänger-Themen 12
B Probleme bei einer Aufgabe Java Basics - Anfänger-Themen 19
Franzi1001 Probleme mit Eclipse Java Basics - Anfänger-Themen 7
T Probleme bei Installation von JDK Java Basics - Anfänger-Themen 2
C Probleme mit String-Vergleich Java Basics - Anfänger-Themen 4
C Probleme bei Regex Java Basics - Anfänger-Themen 9
V Probleme mit Arrays Java Basics - Anfänger-Themen 8
D Kleine Probleme mit Split-Befehlen Java Basics - Anfänger-Themen 5
T Probleme mit Strings Java Basics - Anfänger-Themen 6
G Probleme bei Frame aufgaben Java Basics - Anfänger-Themen 6
N Probleme mit dem ActionListener Java Basics - Anfänger-Themen 4
D Probleme beim Kompelieren mache ich etwas falsch ? Java Basics - Anfänger-Themen 3
L Probleme mit Java Java Basics - Anfänger-Themen 3
S Probleme mit abspielen einer .wav Datei Java Basics - Anfänger-Themen 2
J Probleme bei der Umwandlung einer Farbe von Hex zu RGB Java Basics - Anfänger-Themen 8
K Probleme beim Programm schreiben - Lesen von Dateiinhalten -zaehlen von Wörtern/ Buchstaben Java Basics - Anfänger-Themen 4
M Probleme beim aktualisieren eines JPanels Java Basics - Anfänger-Themen 7
J Probleme beim Array ausgeben Java Basics - Anfänger-Themen 4
M Probleme bei rekursiver Zuordnung Java Basics - Anfänger-Themen 1
I Probleme mit 2 dimensionale Arrays Java Basics - Anfänger-Themen 3
H Best Practice View probleme Java Basics - Anfänger-Themen 2
B Probleme mit Kreisberechnung Java Basics - Anfänger-Themen 15
E Probleme mit Scanner Java Basics - Anfänger-Themen 4
J Eclipse Export Probleme Java Basics - Anfänger-Themen 25
M Probleme beim verwenden von Packages Java Basics - Anfänger-Themen 6
D Probleme mit der Übergabe einer BorderPane Java Basics - Anfänger-Themen 2
J Interface Probleme bei der Implementierung Java Basics - Anfänger-Themen 1
BlueFox Tabelle in der Konsole ausgeben - Probleme Java Basics - Anfänger-Themen 1
G Methoden Probleme beim Methodenaufruf Java Basics - Anfänger-Themen 2
V Klassen ObjectInputStream ->ReadObject Probleme Java Basics - Anfänger-Themen 5
P Probleme mit der Do-Schleife Java Basics - Anfänger-Themen 2
F Erste Schritte Compiling Probleme Java Basics - Anfänger-Themen 13
S Neuling und Probleme bei Schulaufgabe Java Basics - Anfänger-Themen 5
J Anfänger: ActionListener und ProcessBuilder machen Probleme Java Basics - Anfänger-Themen 6
S Erste Schritte 2D Grafik Probleme mit KeyListener. Java Basics - Anfänger-Themen 18
M Array mit eigenem Datentyp probleme beim übergeben Java Basics - Anfänger-Themen 6
M Probleme mit Eclipse Java Basics - Anfänger-Themen 20
G Probleme beim casten von double zu int Java Basics - Anfänger-Themen 3
E 2 Probleme - Datum & private finale Variablen Java Basics - Anfänger-Themen 5
S Compiler-Fehler javac hat Probleme mit Paketen unter OSX Java Basics - Anfänger-Themen 2
J Probleme beim schreiben von Dateien Java Basics - Anfänger-Themen 5
B Variablen Probleme mit Eclipse Java Basics - Anfänger-Themen 6
H Mouse- und KeyListener Probleme? Java Basics - Anfänger-Themen 5
A Probleme beim zykl. aktulisieren von Daten in JTable Java Basics - Anfänger-Themen 3
I Probleme bei Verzeichnissanalyse Java Basics - Anfänger-Themen 12
F Probleme mit privaten Klassen (abstrakten Klassen) Java Basics - Anfänger-Themen 1
H Probleme mit Klassen...oder: Eine Uhr Java Basics - Anfänger-Themen 9
G Probleme mit Konsole Java Basics - Anfänger-Themen 4
S Probleme mit GamGrid Spiel-Erstellung => Actor reagiert nicht auf Tastatur Java Basics - Anfänger-Themen 2
G Probleme mit Eclipse oder der URL Klasse Java Basics - Anfänger-Themen 5
W Verständnis Probleme bei der while-Schleife und continue Java Basics - Anfänger-Themen 21
M Probleme mit Anzeigen von String in GUI und if-Anweisung Java Basics - Anfänger-Themen 9
T Konstruktor Probleme Java Basics - Anfänger-Themen 3
W Methoden Probleme mit der Scanner Methode Java Basics - Anfänger-Themen 2
F Ja Nein Abfrage und andere Probleme Java Basics - Anfänger-Themen 5
L If Anweisung mit ArrayList Probleme Java Basics - Anfänger-Themen 6
littles_de Simbad Simulator probleme mit Sensordaten... Java Basics - Anfänger-Themen 0
M Erste Schritte Probleme beim Verknüpfen von Methoden Java Basics - Anfänger-Themen 15
A Probleme beim Methodenaufruf von Object[] ! Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben