功能点:
-
如果该座位已被选定则提示:对不起,这里有人了!
-
如果该座位还未被选中则输出消息:选座成功,您的座位为第X排第X位,同时将座位选定输出最新的座位布局
import java.util.Scanner; public class SeatDemo { //声明座位数组 int[][] seats; // null /** * 构造器中实现行列初始化,显示座位布局 * @param row * @param column */ public SeatDemo(int row,int column){ seats = new int[row][column]; } /** * 打印座位信息 */ public void showSeats(){ for(int i = 0;i < seats.length;i++){ for(int j = 0;j < seats[i].length;j++){ System.out.print(seats[i][j]+" "); } System.out.println(); } } /** * 启动 */ public void startSelect(){ System.out.println("请输入要选择的行数:"); Scanner sc = new Scanner(System.in); int row = sc.nextInt(); System.out.println("您选择了第"+row+"排,请输入要选择的列数:"); int column = sc.nextInt(); select(row,column); } /** * 选座 * @param r * @param c */ public void select(int r,int c){ if(seats[r-1][c-1] == 1){ System.out.println("对不起,该座位已经被选定,请重新选择"); }else{ seats[r-1][c-1] = 1; System.out.println("选座成功,您的座位是:第"+r+"排,第"+c+"位"); showSeats(); } } /** * 菜单 */ public void menu(){ System.out.println("***********欢迎光临影院,请选座**********"); System.out.println("***********【1】显示座位剩余情况***********"); System.out.println("***********【2】选座********************"); System.out.println("***********【0】退出********************"); command(); } /** * 接收指令(控制器) */ public void command(){ Scanner sc = new Scanner(System.in); int op = sc.nextInt(); switch(op){ case 1: showSeats(); menu(); break; case 2: startSelect(); menu(); break; case 0: System.out.println("谢谢使用,再见!"); //系统退出 System.exit(0); break; default: System.err.println("您的输入有误,请重新输入:"); command(); break; } } public static void main(String[] args) { new SeatDemo(10, 18).menu(); } }