java飞机订票系统课程设计_JAVA数据结构课程设计,航空订票系统求助

这是一个使用JAVA编写的简单飞机订票系统,包括AirClass枚举、Customer类、AirLine类和Main类。系统能处理航班信息、乘客信息、座位预订和取消等操作。
摘要由CSDN通过智能技术生成

展开全部

今天比较闲, 编了一套,一共4个 class。不懂62616964757a686964616fe59b9ee7ad9431333335303462再问。

这格式真要命,凑活看吧。public enum AirClass{

FIRST,

SECOND,

THIRD

}

--------------------------------------------

public class Customer{

private String name;

private int ticketNumber;

private AirClass airClass;

public Customer(String name, int ticketNumber, AirClass airClass){

this.name = name;

this.ticketNumber = ticketNumber;

this.airClass = airClass;

}

public String getName() {  return name; }

public void setName(String name) {  this.name = name; }

public int getTicketNumber() {  return ticketNumber; }

public AirClass getAirClass() {  return airClass; }

}

------------------------------------------------

import java.util.LinkedList;

import java.util.List;

public class AirLine {

private String destination;

private String flightName;

private String flightNumber;

private int dayOfWeek;

private int capacity;

private int remainder;

private List booking = new LinkedList();

private List preBooking = new LinkedList();

public AirLine(String destination, String flightName, String flightNumber,   int dayOfWeek, int capacity) {

this.destination = destination;

this.flightName = flightName;

this.flightNumber = flightNumber;

this.dayOfWeek = dayOfWeek;

this.capacity = capacity;

this.remainder = capacity; }

public String getDestination() {  return destination; }

public String getFlightName() {  return flightName; }

public String getFlightNumber() {  return flightNumber; }

public int getDayOfWeek() {  return dayOfWeek; }

public int getCapacity() {  return capacity; }

public int getRemainder() {  return remainder; }

public List getBooking() {  return booking; }

public List getPreBooking() {  return preBooking; }

public boolean addBooking(Customer c) {

if (this.remainder >= c.getTicketNumber()) {

this.remainder = this.remainder - c.getTicketNumber();

this.booking.add(c);

return true;

} else {

this.preBooking.add(c);

return false;

}

}

public void removeBooking(Customer c) {

if (this.booking.contains(c)) {

this.booking.remove(c);

this.remainder = this.remainder + c.getTicketNumber();

} else {

throw new IllegalArgumentException("Customer not found.");

}

}

public void removePreBooking(Customer c) {

if (this.preBooking.contains(c)) {

this.preBooking.remove(c);

} else {

throw new IllegalArgumentException("Customer not found.");

}

}

public String toString() {

return this.flightName + ": " + this.flightNumber + ": "

+ this.dayOfWeek + ": " + this.remainder;

}

}

---------------------------------

import java.util.Calendar;import java.util.Date;

import java.util.LinkedList;import java.util.List;

import java.util.concurrent.TimeUnit;

public class Main {

private List airLines = new LinkedList();

private void init() {

final AirLine airLine1 = new AirLine("beijing", "flightName",    "flightNumber", Calendar.MONDAY, 300);

this.airLines.add(airLine1);

// 自己加新的 airLine2, airLine3 ...

final Customer customer1 = new Customer("Tom", 2, AirClass.FIRST);

airLine1.addBooking(customer1);

// 自己加新的 customer2, customer3 ...

}

public AirLine search(String destination) {

if (destination == null)   return null;

final int currenDayOfWeek = Calendar.getInstance().get(    Calendar.DAY_OF_WEEK);

AirLine res = null;

int diffToCurrenDate = 7;

for (AirLine a : airLines) {

if (destination.equals(destination)) {

if (res == null) {

res = a;

continue;

}

int diff = a.getDayOfWeek() - currenDayOfWeek;

if (diff 

if (diff 

diffToCurrenDate = diff;

res = a;

}

}

}

if (res == null) {

System.out.println("Not found");

} else {

System.out.println("日期 "     + new Date(System.currentTimeMillis()       + TimeUnit.DAYS.toMillis(diffToCurrenDate)) + " : "     + res.toString());

}

return res;

}

public void booking(AirLine a, Customer c) {

if (a.addBooking(c)) {

System.out.println("订到了");

} else {

System.out.println("排队中");

}

}

public void cancel(AirLine a, Customer c) {

a.removeBooking(c);

for (Customer pre : a.getPreBooking()) {

if (a.addBooking(pre)) {

a.removePreBooking(pre);

System.out.println("排队的订到了");

break;

} else {

System.out.println("票余量不够当前面排队的人, 下一个");

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值