答案:影院订票系统通过二维数组模拟座位,结合循环与条件判断实现用户选座、订票、状态更新及退出功能,提升Java基础编程能力。

开发一个影院订票系统,是掌握Java基础逻辑判断与循环结构的绝佳实战项目。通过这个系统,可以综合运用条件判断(if-else、switch)、循环(for、while)以及变量控制等基础知识,实现用户交互和座位管理功能。
系统核心需求分析
一个基础的影院订票系统应具备以下功能:
- 展示影厅座位分布(用二维数组模拟)
- 允许用户选择座位
- 判断所选座位是否已被预订
- 完成订票并更新座位状态
- 支持多次操作或退出系统
使用二维数组模拟座位表
用一个 boolean 类型的二维数组表示座位,true 表示已订,false 表示可选。
例如:创建一个 5 行 8 列的影厅
立即学习“Java免费学习笔记(深入)”;
boolean[][] seats = new boolean[5][8];
初始化时所有座位均为 false(未订)。
结合循环与条件实现订票流程
主流程可用 while 循环保持程序运行,直到用户选择退出。
每次循环中:
- 打印当前座位图(用 for 循环遍历数组)
- 提示用户输入行号和列号
- 使用 if 判断输入是否合法(是否越界)
- 检查 seats[row][col] 是否为 true
- 若已订,提示“该座位已被占用”
- 若空闲,将其设为 true,并输出“订票成功”
关键代码片段示例:
while (true) {
System.out.println("当前座位情况:");
for (int i = 0; i
for (int j = 0; j
System.out.print(seats[i][j] ? "【已订】" : "【√】");
}
System.out.println();
}
System.out.print("请输入要订购的行(0-4)和列(0-7),输入-1退出:");
int row = scanner.nextInt();
if (row == -1) break;
int col = scanner.nextInt();
if (row = 5 || col = 8) {
System.out.println("输入无效!");
} else if (seats[row][col]) {
System.out.println("该座位已被预订!");
} else {
seats[row][col] = true;
System.out.println("订票成功!");
}
}
提升用户体验的小技巧
可以在输出座位时加入行列编号,方便用户识别。
增加订票数量限制或票价计算,引入更多变量和逻辑分支。
使用 do-while 实现“至少执行一次”的操作流程,避免空运行。
把座位打印封装成独立方法,让主逻辑更清晰。
基本上就这些。通过这个小项目,能扎实掌握 Java 中 if 判断、for/while 循环、数组遍历和用户交互的基本写法。逻辑清晰、结构分明,是编程入门的关键一步。










