代码演示:
public class MovieSystem { /** * 定义系统的数据容器用户存储数据 * 1.存储很多用户(客户对象,商家对象) */ public static final List<User> ALL_USERS = new ArrayList<>(); /** * 2.存储系统全部商家和其排片信息 * 商家1 = [p1,p2,p3,...] * 商家2 = [p1,p2,p3,...] * ... */ public static Map<Business, List<Movie>> ALL_MOVIES = new HashMap<>(); public static final Scanner SYS_SC = new Scanner(System.in); //定义一个静态的User类型的变量记住当前登录成功的用户对象 public static User loginUser; /** 3.准备一些测试数据 */ static { Customer c = new Customer(); c.setLoginName("zyf888"); c.setPassWord("123456"); c.setUserName("黑马刘德华"); c.setSex('男'); c.setMoney(10000); c.setPhone("110110"); ALL_USERS.add(c); Customer c1 = new Customer(); c1.setLoginName("gzl888"); c1.setPassWord("123456"); c1.setUserName("黑马关之琳"); c1.setSex('女'); c1.setMoney(2000); c1.setPhone("111111"); ALL_USERS.add(c1); Business b = new Business(); b.setLoginName("baozugong888"); b.setPassWord("123456"); b.setUserName("黑马包租公"); b.setMoney(0); b.setSex('男'); b.setPhone("110110"); b.setAddress("火星6号2B二层"); b.setShopName("甜甜圈国际影城"); ALL_USERS.add(b); // 注意,商家一定需要加入到店铺排片信息中去 List<Movie> movies = new ArrayList<>(); ALL_MOVIES.put(b, movies); // b = [] Business b2 = new Business(); b2.setLoginName("baozupo888"); b2.setPassWord("123456"); b2.setUserName("黑马包租婆"); b2.setMoney(0); b2.setSex('女'); b2.setPhone("110110"); b2.setAddress("火星8号8B八层"); b2.setShopName("巧克力国际影城"); ALL_USERS.add(b2); // 注意,商家一定需要加入到店铺排片信息中去 List<Movie> movies3 = new ArrayList<>(); ALL_MOVIES.put(b2, movies3); // b2 = [] } public static void main(String[] args) { while (true) { System.out.println("========黑马电影首页========"); System.out.println("1.登录"); System.out.println("2.用户注册"); System.out.println("3.商家注册"); System.out.println("请输入操作命令:"); String command = SYS_SC.nextLine(); switch (command) { case "1": //登录 login(); break; case "2": break; case "3": break; default: System.out.println("命令有误,请确认!"); } } } private static void login() { while (true) { System.out.println("请输入登录名称:"); String loginName = SYS_SC.nextLine(); System.out.println("请输入登录密码:"); String passWord = SYS_SC.nextLine(); //1.根据登录名称查询登录对象 User u = getUserByLoginName(loginName); //2.判断用户对象是否存在,存在说明登录名称正确了 if (u != null){ //3.比对密码是否正确 if (u.getPassWord().equals(passWord)){ //登录成功了…… loginUser = u; //判断是用户登录还是商家登录 if (u instanceof Customer){ //当前用户是普通用户 showCustomerMain(); }else { //当前用户是商家用户 showBuinessMain(); } return; }else { System.out.println("密码错误~"); } }else { System.out.println("登录名称错误,请确认"); } } } /** 商家操作界面 */ private static void showBuinessMain() { while (true) { System.out.println("============黑马电影商家界面==================="); System.out.println(loginUser.getLoginName() + (loginUser.getSex()=='男'?"先生":"女士" + "欢迎您进入系统")); System.out.println("1、展示详情:"); System.out.println("2、上架电影:"); System.out.println("3、下架电影:"); System.out.println("4、修改电影:"); System.out.println("5、退出:"); System.out.println("请输入您要操作的命令:"); String command = SYS_SC.nextLine(); switch (command){ case "1": // 展示全部排片信息 break; case "2": // 上架电影信息 break; case "3": // 下架电影信息 break; case "4": // 修改电影信息 break; case "5": return; // 干掉方法 default: System.out.println("不存在该命令!!"); break; } } } /** 客户操作界面 */ private static void showCustomerMain() { while (true) { System.out.println("============黑马电影客户界面==================="); System.out.println(loginUser.getLoginName() + (loginUser.getSex()=='男'?"先生":"女士" + "欢迎您进入系统")); System.out.println("请您选择要操作的功能:"); System.out.println("1、展示全部影片信息功能:"); System.out.println("2、根据电影名称查询电影信息:"); System.out.println("3、评分功能:"); System.out.println("4、购票功能:"); System.out.println("5、退出系统:"); System.out.println("请输入您要操作的命令:"); String command = SYS_SC.nextLine(); switch (command){ case "1": // 展示全部排片信息 break; case "2": break; case "3": // 评分功能 break; case "4": // 购票功能 break; case "5": return; // 干掉方法 default: System.out.println("不存在该命令!!"); break; } } } public static User getUserByLoginName(String loginName){ for (User user : ALL_USERS) { // 判断这个用户的登录名称是否是我们想要的 if (user.getLoginName().equals(loginName)){ return user; } } return null; } }