题目:电影城出票系统:
- 电影城每天放映好几部电影,每部电影也有好几个放映场次,每场电影供应一定数量的电影票
- 电影类型为枚举类型,有爱情片、喜剧片、动作片、科幻片。
- 电影类有电影名称、电影类型属性
- 电影放映场次类有放映厅、放映时间属性
- 电影票座位类有行(即哪一排)、座位属性
- 电影票类有电影、放映场次、座位属性
package experiment3;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.io.*;
enum MovieType implements Serializable{
Comedy("喜剧片"),
Action("动作片"),
Romatic("爱情片"),
ScienceFiction("科幻片");
private final String name;
MovieType(String name){
this.name = name;
}
public String get(){
return name;
}
}
class Movie implements Serializable{
String name;
MovieType type;
String where;
Movie(String where,String name,MovieType a){
this.name = name;
this.where = where;
this.type = a;
}
void printinfo(){
System.out.print(this.name+"\n"+"类型:"+this.type.get()+"\n"+"放映厅:"+this.where+"\n");
}
}
class MovieSchedule implements Serializable{
String time;
String date;
MovieSchedule(String date,String time){
this.time = time;
this.date = date;
}
void printinfo(){
System.out.print("时间:"+this.date+" "+this.time+"\n");
}
}
class Seat implements Serializable{
int row;
int col;
Seat(int a,int b){
this.row = a;
this.col = b;
}
void printinfo(){
System.out.print("座位:"+this.row+"行"+this.col+"座\n");
}
}
class Ticket implements Serializable{
Movie a;
MovieSchedule b;
Seat c;
Ticket(Movie get,MovieSchedule time,Seat seat){
this.a = get;
this.b = time;
this.c = seat;
}
public void printTicket(){
a.printinfo();
b.printinfo();
c.printinfo();
System.out.println("***************************");
}
}
public class MovieSet {
public static void main (String[] args) {
List<Ticket> moviesList = new ArrayList<>();
Seat seat1 = new Seat(10,12);
MovieSchedule time1 = new MovieSchedule("2010年7月12日","20时20分");
Movie get1 = new Movie("放映厅1","疯狂的石头",MovieType.Comedy);
Ticket t1 = new Ticket(get1,time1,seat1);
Seat seat2 = new Seat(10,13);
MovieSchedule time2 = new MovieSchedule("2010年7月12日","20时20分");
Movie get2 = new Movie("放映厅1","疯狂的石头",MovieType.Comedy);
Ticket t2 = new Ticket(get2,time2,seat2);
Seat seat3 = new Seat(8,8);
MovieSchedule time3 = new MovieSchedule("2010年7月14日","19时40分");
Movie get3 = new Movie("放映厅2","2012",MovieType.ScienceFiction);
Ticket t3 = new Ticket(get3,time3,seat3);
Seat seat4 = new Seat(8,9);
MovieSchedule time4 = new MovieSchedule("2010年7月14日","19时40分");
Movie get4 = new Movie("放映厅2","2012",MovieType.ScienceFiction);
Ticket t4 = new Ticket(get4,time4,seat4);
moviesList.add(t1);
moviesList.add(t2);
moviesList.add(t3);
moviesList.add(t4);
File file=new File("C:\\javaP\\chuchun\\experiment3\\src\\movies.txt");
try{
FileOutputStream f = new FileOutputStream(file);
ObjectOutputStream os = new ObjectOutputStream(f);
os.writeObject(moviesList);
os.close();
}catch(Exception ex){
System.out.println("存在异常");
ex.printStackTrace();
}
try
(ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));)
{
@SuppressWarnings("unchecked")
List<Ticket> moviesList_input = (List<Ticket>)in.readObject();
for (Iterator<Ticket> iterator = moviesList_input.iterator(); iterator.hasNext();) {
Ticket ticket = (Ticket) iterator.next();
ticket.printTicket();
}
in.close();
}catch(Exception ex){
System.out.println("存在异常");
ex.printStackTrace();
}
}
}
运行结果: