//编写一个应用程序,要求将LinkedList<E>创建的对象写入到文件,然后读出一个LinkedList<E>对象,并遍历LinkedList<E>节点中的数据。
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Scanner;
public class HomeWork9_5 {
public static void main(String[] args) {
Fruits f = new Fruits();
LinkedList<Fruits> myfruits = new LinkedList<Fruits>();
for (int c = 0; c <= f.fruits.length - 1; c++) {
myfruits.add(f.fruits[c]);
}
try {
FileOutputStream out = new FileOutputStream("e://HomeWork9_5.txt");
ObjectOutputStream objectout = new ObjectOutputStream(out);
FileInputStream in = new FileInputStream("e://HomeWork9_5.txt");
ObjectInputStream objectin = new ObjectInputStream(in);
objectout.writeObject(myfruits);
LinkedList<Fruits> myfruits2 = (LinkedList<Fruits>) objectin
.readObject();
Iterator<Fruits> iterfruits = myfruits2.iterator();
System.out.println("超级无敌华丽的黄金分割线:——————————————————————");
while (iterfruits.hasNext()) {
Fruits f2 = iterfruits.next();
System.out.println(f2.name + " " + f2.price);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
class Fruits implements Serializable {
String name;
double price;
Fruits[] fruits;
Fruits() {
this.inPut();
};
Fruits(String n, Double p) {
this.name = n;
this.price = p;
}
public Fruits[] inPut() {
fruits = new Fruits[4];
String str;
Double d;
for (int i = 0; i <= fruits.length - 1; i++) {
System.out.println("请输入水果的名称");
Scanner s1 = new Scanner(System.in);
str = s1.nextLine();
System.out.println("请输入水果的价格");
d = s1.nextDouble();
fruits[i] = new Fruits(str, d);
}
return fruits;
}
}