电影选座主要是对方法的封装,通过调用实现命令的实现;以及数组的容器作用和数组的运用

//导入工具包
import java.util.Scanner;

public class SeatSelect {
	//声明座位数组,给定一个容纳座位的容器
	int[][] seats;
	//构造器中实现行列初始化,显示座位布局
	public SeatSelect(int r,int c){
		seats = new int[r][c];
		
		
	}
	//打印座位
	public void printseat(){
		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 start(){
		System.out.println("---------------Welcome!--------------");
		System.out.println("-------------欢迎来到黑猫影院 ------------");
		printseat();
		System.out.println("请输入要选择的行数:");
		@SuppressWarnings("resource")
		Scanner sc = new Scanner(System.in);
		int row = sc.nextInt();
		System.out.println("请输入选择的列数:");
		int column = sc.nextInt();
		select(row,column);
	}
	//选座提示的判断
	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+ "列");
			printseat();
		}

	}
	//进入菜单,调用命令,开始买票
	public void menu(){
		System.out.println("欢迎观临猫眼影院!");
		System.out.println("【1】显示座位剩余 ");
		System.out.println("【2】进入选座");
		System.out.println("【0】退出");
		command();
	}
	//菜单控制命令,switch条件语句
	public void command(){
		@SuppressWarnings("resource")
		Scanner sc = new Scanner(System.in);
		int op = sc.nextInt();
		switch (op) {
		case 1:
			printseat();
			menu();
			break;
		case 2:
			start();
			menu();
			break;
		case 0:
		    System.out.println("谢谢使用,再见!");
		    System.exit(0);
		default:
			System.out.println("输入有误,请重新输入:");
			command();
			break;
		}
	}
	public static void main(String[] args) {
                //给定电影院的行列数后,开始运行
		new SeatSelect(10,19).menu();

	}

}

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐