Moin,
ich bin derzeit am lernen für meine Objektorientierte und Funktionale Programmierung Klausur und bin dabei auf diese Aufgabe gestoßen:
https://gyazo.com/04c1204ff1293499d155deb69a4be405
Dass ist ein Übungsblatt von meiner Uni was ich versucht habe zu bearbeiten, jedoch leider ein/einige Fehler gemacht habe und ich nicht weiß wie ich diese Beheben soll.
Der Fehler der mir angezeigt wird ist nur im FruitTree vorhanden und lautet wie folgt:
java.io.NotSerializableException: Fruit
at java.ibjectOutputStream.writeObject0(Unknown Source)
at java.ibjectOutputStream.writeObject(Unknown Source)
at FruitTree.main(FruitTree.java:30)
Ich hoffe ihr könnt mir weiterhelfen
ich bin derzeit am lernen für meine Objektorientierte und Funktionale Programmierung Klausur und bin dabei auf diese Aufgabe gestoßen:
https://gyazo.com/04c1204ff1293499d155deb69a4be405
Dass ist ein Übungsblatt von meiner Uni was ich versucht habe zu bearbeiten, jedoch leider ein/einige Fehler gemacht habe und ich nicht weiß wie ich diese Beheben soll.
Der Fehler der mir angezeigt wird ist nur im FruitTree vorhanden und lautet wie folgt:
java.io.NotSerializableException: Fruit
at java.ibjectOutputStream.writeObject0(Unknown Source)
at java.ibjectOutputStream.writeObject(Unknown Source)
at FruitTree.main(FruitTree.java:30)
Ich hoffe ihr könnt mir weiterhelfen
Code:
public class Fruit implements Comparable<Fruit>{
String name;
int gewicht;
public Fruit(String name, int gewicht) {
this.name=name;
this.gewicht=gewicht;
}
public int compareTo(Fruit otherFruit) {
if(this.gewicht < otherFruit.gewicht)
return -1;
if(this.gewicht>otherFruit.gewicht)
return 1;
return 0;
}
}
Code:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Iterator;
import java.util.TreeSet;
public class FruitTree {
public static void main(String[] args) {
TreeSet<Fruit> fruitTree = new TreeSet<Fruit>();
fruitTree.add(new Fruit("Kiwi",5));
fruitTree.add(new Fruit("Kirsche",1));
fruitTree.add(new Fruit("Ananas",75));
fruitTree.add(new Fruit("Zitrone",15));
fruitTree.add(new Fruit("Grapefruit",44));
fruitTree.add(new Fruit("Banane",55));
fruitTree.add(new Fruit("Kirsche",2));
fruitTree.add(new Fruit("Kiwi",8));
try {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("IO.txt"));
Iterator<Fruit> it = fruitTree.iterator();
while(it.hasNext()) {
oos.writeObject(it.next());
}
oos.writeObject(null);
ObjectInputStream ois = new ObjectInputStream (new FileInputStream("IO.txt"));
Object readObject=null;
TreeSet<Fruit> deserializedFruits= new TreeSet<Fruit>();
do {
readObject=ois.readObject();
if(readObject !=null)
deserializedFruits.add((Fruit) readObject);
}
while (readObject!=null);
it=deserializedFruits.iterator();
while(it.hasNext()) {
System.out.println(it.next());
ois.close();
oos.close();
}
}
catch(Exception e) {
e.printStackTrace();
}
}
}