用java写一个电影院订票系统并且写在main方法中,主要功能有电影院,订票,退票,查询订单,退出系统
时间: 2024-05-07 19:20:13 浏览: 9
以下是一个简单的电影院订票系统的Java代码,包括电影院、订票、退票、查询订单和退出系统等功能:
```java
import java.util.ArrayList;
import java.util.Scanner;
public class MovieTicketSystem {
static ArrayList<String> movies = new ArrayList<>();
static ArrayList<Integer> tickets = new ArrayList<>();
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
boolean isRunning = true;
while (isRunning) {
System.out.println("欢迎使用电影院订票系统,请选择以下功能:");
System.out.println("1. 添加电影");
System.out.println("2. 订票");
System.out.println("3. 退票");
System.out.println("4. 查询订单");
System.out.println("5. 退出系统");
int choice = scanner.nextInt();
switch (choice) {
case 1:
addMovie();
break;
case 2:
bookTicket();
break;
case 3:
cancelTicket();
break;
case 4:
showOrder();
break;
case 5:
isRunning = false;
System.out.println("谢谢使用!");
break;
default:
System.out.println("无效输入,请重新选择!");
break;
}
}
}
// 添加电影
public static void addMovie() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入电影名称:");
String movie = scanner.nextLine();
movies.add(movie);
System.out.println("电影添加成功!");
}
// 订票
public static void bookTicket() {
Scanner scanner = new Scanner(System.in);
System.out.println("请选择电影:");
for (int i = 0; i < movies.size(); i++) {
System.out.println((i + 1) + ". " + movies.get(i));
}
int movieIndex = scanner.nextInt() - 1;
if (movieIndex < 0 || movieIndex >= movies.size()) {
System.out.println("无效选择!");
return;
}
System.out.println("请输入购买数量:");
int quantity = scanner.nextInt();
int remaining = tickets.get(movieIndex) - quantity;
if (remaining < 0) {
System.out.println("余票不足!");
return;
}
tickets.set(movieIndex, remaining);
System.out.println("订票成功!");
}
// 退票
public static void cancelTicket() {
Scanner scanner = new Scanner(System.in);
System.out.println("请选择电影:");
for (int i = 0; i < movies.size(); i++) {
System.out.println((i + 1) + ". " + movies.get(i));
}
int movieIndex = scanner.nextInt() - 1;
if (movieIndex < 0 || movieIndex >= movies.size()) {
System.out.println("无效选择!");
return;
}
System.out.println("请输入退票数量:");
int quantity = scanner.nextInt();
int remaining = tickets.get(movieIndex) + quantity;
if (remaining > 100) {
System.out.println("余票超出上限!");
return;
}
tickets.set(movieIndex, remaining);
System.out.println("退票成功!");
}
// 查询订单
public static void showOrder() {
System.out.println("当前订单情况如下:");
for (int i = 0; i < movies.size(); i++) {
System.out.println(movies.get(i) + ":剩余票数为 " + tickets.get(i));
}
}
}
```
说明:
- 该程序使用了静态的 `ArrayList` 对电影和电影票数量进行管理。
- 主程序使用了一个 `while` 循环,不断提供菜单选项,根据用户输入执行对应的方法。
- `addMovie()` 方法用于添加电影,接收用户输入的电影名称并将其添加到电影列表中。
- `bookTicket()` 方法用于订票,首先显示电影列表,让用户选择电影,然后接收用户输入的购买数量,检查余票是否足够,如果足够则将余票数量减去购买数量,否则提示余票不足。
- `cancelTicket()` 方法用于退票,首先显示电影列表,让用户选择电影,然后接收用户输入的退票数量,检查余票是否超出上限,如果没有则将余票数量加上退票数量,否则提示余票超出上限。
- `showOrder()` 方法用于查询订单,显示当前电影的余票数量。
请注意,该程序仅供参考,实际应用时可能需要更多功能和更完善的代码。