一个简单的客车售票系统Java
时间: 2023-08-04 17:04:06 浏览: 55
下面是一个简单的客车售票系统的 Java 实现,其中包括了车辆信息、座位信息、购票、退票等功能。
```java
import java.util.Scanner;
public class BusTicketSystem {
static String[] buses = {"K123", "K456", "K789"}; // 车辆信息
static int[][] seats = {{1,2,3,4,5,6,7,8,9,10}, // 座位信息
{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10}};
static int[][] tickets = new int[buses.length][seats[0].length]; // 票务信息
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("请选择操作:1.购票 2.退票 3.退出系统");
int option = sc.nextInt();
if (option == 1) {
System.out.println("请输入车次(K123, K456, K789):");
String bus = sc.next();
int busIndex = -1;
for (int i = 0; i < buses.length; i++) {
if (buses[i].equals(bus)) {
busIndex = i;
break;
}
}
if (busIndex == -1) {
System.out.println("车次输入错误!");
continue;
}
System.out.println("请输入座位号(1-10):");
int seat = sc.nextInt();
if (seat < 1 || seat > seats[0].length) {
System.out.println("座位号输入错误!");
continue;
}
if (tickets[busIndex][seat-1] == 1) {
System.out.println("该座位已被购买!");
continue;
}
tickets[busIndex][seat-1] = 1;
System.out.println("购票成功!");
} else if (option == 2) {
System.out.println("请输入车次(K123, K456, K789):");
String bus = sc.next();
int busIndex = -1;
for (int i = 0; i < buses.length; i++) {
if (buses[i].equals(bus)) {
busIndex = i;
break;
}
}
if (busIndex == -1) {
System.out.println("车次输入错误!");
continue;
}
System.out.println("请输入座位号(1-10):");
int seat = sc.nextInt();
if (seat < 1 || seat > seats[0].length) {
System.out.println("座位号输入错误!");
continue;
}
if (tickets[busIndex][seat-1] == 0) {
System.out.println("该座位未被购买!");
continue;
}
tickets[busIndex][seat-1] = 0;
System.out.println("退票成功!");
} else if (option == 3) {
System.out.println("谢谢使用!");
break;
} else {
System.out.println("输入错误,请重新输入!");
}
}
sc.close();
}
}
```
上面的代码中,我们使用了一个二维数组 `seats` 来存储每个车辆的座位信息,使用一个二维数组 `tickets` 来存储每个座位的票务信息。在购票和退票时,我们需要先输入车次和座位号,然后判断该座位是否已被购买或未被购买,最后更新票务信息。