📄 ticket.java
字号:
package com.toa.abs.model;
/**
* 机票类,该类用来描述某位乘客乘座某次航班的确定的订票记录。
* @author tangliang
* @version 1.1.0
*/
public class Ticket{
private String passengerName;//乘座飞机人姓名
private String passengerId;//乘座飞机人身份证号
private Flight flight;//预定的航班
private CabinClass f_class;//预定的舱位等级
private PassenagerType t_type;//机票类型
public Ticket(){}
public Ticket( String name,String number,Flight flight,
CabinClass f_class, PassenagerType t_type) {
this.f_class = f_class;
this.flight = flight;
this.passengerId = number;
this.passengerName = name;
this.t_type = t_type;
}
//以下是get和set方法.
public CabinClass getF_class() {
return f_class;
}
public void setF_class(CabinClass f_class) {
this.f_class = f_class;
}
public Flight getFlight() {
return flight;
}
public void setFlight(Flight flight) {
this.flight = flight;
}
public String getPassengerId() {
return passengerId;
}
public void setPassengerId(String idNumber) {
this.passengerId = idNumber;
}
public String getPassengerName() {
return passengerName;
}
public void setPassengerName(String name) {
this.passengerName = name;
}
public double getPrice() {
double datumPrice=flight.getSch().getPrice();
double offPrice=datumPrice*flight.getPriceOff();
double price=offPrice*f_class.getPriceFactor()*t_type.getPriceFactor();
return price;
}
public PassenagerType getT_type() {
return t_type;
}
public void setT_type(PassenagerType t_type) {
this.t_type = t_type;
}
public String toString(){
StringBuffer sb1=new StringBuffer();
sb1.append(getFlight().getDate().toString()+" ");
sb1.append(getFlight().getSch().getFromTime().toString());
sb1.append(",从 "+getFlight().getSch().getFromAddress());
sb1.append(" 至 "+getFlight().getSch().getToAddress());
sb1.append("("+getFlight().getSch().getFlightNumber()+")");
StringBuffer sb2=new StringBuffer();
sb2.append(getF_class().toString()+" ");
sb2.append(getT_type().toString()+" ");
sb2.append("乘客姓名:"+getPassengerName()+" ");
sb2.append("证件号码:"+getPassengerId()+" 座位号:"+this.numOfSeat()+" 票价:"+getPrice());
return sb1+""+'\n'+sb2;
}
public int numOfSeat(){
switch(f_class){
case EconomyClass:{
int a=getFlight().getSch().getPlane().getECS()-getFlight().getECSRemain()+1;
getFlight().setECSRemain(getFlight().getECSRemain()-1);
return a;
}
case BusinessClass:{
int a=getFlight().getSch().getPlane().getBCS()-getFlight().getBCSRemain()+1;
getFlight().setBCSRemain(getFlight().getBCSRemain()-1);
return a;
}
case FirstClass:{
int a=getFlight().getSch().getPlane().getFCS()-getFlight().getFCSRemain()+1;
getFlight().setFCSRemain(getFlight().getFCSRemain()-1);
return a;
}
default:return -1;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -