完成一个电影院选座的功能实现,要求可以从console中输入要选取的座位行数和列数进行选座

功能点:

  1. 如果该座位已被选定则提示:对不起,这里有人了!

  2. 如果该座位还未被选中则输出消息:选座成功,您的座位为第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();
    }
    }

猜你喜欢

转载自blog.csdn.net/qq_42668504/article/details/81152247
今日推荐