⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 orderitem.java

📁 一个很详细的航空售票系统开发的例子
💻 JAVA
字号:
package com.tarena.abs.model;

import java.awt.Color;

import javax.swing.JButton;
import javax.swing.JLabel;

/**
 * 订单项,用来描述订单中的一个条目,条目是指
 * 某位乘客乘座某次航班的确定的预定记录。
 * @author tangliang
 * @version 1.1.0
 */
public class OrderItem implements java.io.Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1580610597688807213L;
	private String passengerName;//乘座飞机人姓名
	private String passengerId;//乘座飞机人身份证号
	private Flight flight;//预定的航班
	private CabinClass f_class;//预定的舱位等级
	private TicketType t_type;//机票类型
	private int score;//奖励的积分
	
	public OrderItem(){}
	
	public OrderItem( String name,String number,Flight flight,
			CabinClass f_class, TicketType t_type, int scr) {
		this.f_class = f_class;
		this.flight = flight;
		this.passengerId = number;
		this.passengerName = name;
		this.score = scr;
		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 int getScore() {
		return score;
	}
	public void setScore(int scr) {
		this.score = scr;
	}
	public TicketType getT_type() {
		return t_type;
	}
	public void setT_type(TicketType 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().getCompany().getName());
		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 OfficialClass:{
			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 + -