鱼C论坛

 找回密码
 立即注册
查看: 4559|回复: 11

[已解决]求个大哥帮帮忙

[复制链接]
发表于 2020-11-17 10:16:57 | 显示全部楼层 |阅读模式
50鱼币
1新增电影入院
2查询电影信息
3电影放映设置
4电影票实时销售 yw.rar (7.25 KB, 下载次数: 9)
最佳答案
2020-11-17 10:16:58
给你改好了。

最佳答案

查看完整内容

给你改好了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-17 10:16:58 | 显示全部楼层    本楼为最佳答案   
给你改好了。
Dingtalk_20201117154259.jpg
Dingtalk_20201117154441.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-11-17 10:17:33 | 显示全部楼层
压缩包里是我的源码。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-17 15:51:27 | 显示全部楼层
  1. package yw;

  2. import java.util.Scanner;

  3. public class Menu {

  4.     public int startMenu() {
  5.         Scanner input = new Scanner(System.in);
  6.         System.out.println("----------------------------");
  7.         System.out.println("1.新增电影");
  8.         System.out.println("2.查看电影");
  9.         System.out.println("3.放映设置");
  10.         System.out.println("4.影票销售");
  11.         System.out.println("0.退出系统");
  12.         System.out.println("----------------------------");
  13.         System.out.print("请选择输入");
  14.         int choose = input.nextInt();
  15.         return choose;
  16.     }

  17.     public void startRun() {
  18.         Scanner input = new Scanner(System.in);
  19.         System.out.println("欢迎进入影院售票系统!");
  20.         Menu menu = new Menu();
  21.         Cinema cinema = new Cinema();
  22.         cinema.initial();
  23.         int choose = 0;
  24.         while (true) {
  25.             choose = menu.startMenu();
  26.             switch (choose) {
  27.                 case 1:
  28.                     cinema.addMovie();
  29.                     break;
  30.                 case 2:
  31.                     cinema.showAllMovie();
  32.                     break;
  33.                 case 3:
  34.                     cinema.setMovieRoom();
  35.                     break;
  36.                 case 4:
  37.                     cinema.saleTicket();
  38.                     break;
  39.                 default:
  40.                     System.out.println("谢谢使用!再见!");
  41.                     System.exit(0);
  42.                     break;
  43.             }
  44.             System.out.println("输入r返回主菜单");
  45.             if (!"r".equals(input.next())) {
  46.                 System.out.println("输入错误!程序结束!");
  47.                 break;
  48.             }

  49.         }
  50.     }
  51. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-17 15:51:57 | 显示全部楼层
  1. package yw;

  2. import java.util.Scanner;

  3. public class Movie {

  4.     //电影名称
  5.     String name;

  6.     //电影类型
  7.     String type;

  8.     //电影主演
  9.     String actor;

  10.     //电影价格
  11.     double price;

  12.     public String toString() {
  13.         return name + "\t\t" + type + "\t\t" + actor + "\t\t" + price;
  14.     }
  15. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-17 15:52:58 | 显示全部楼层
  1. package yw;

  2. import java.util.Scanner;

  3. public class Cinema {

  4.     //电影数组
  5.     Movie[] movies;

  6.     //放映厅数组
  7.     Room[] rooms;

  8.     Scanner input = new Scanner(System.in);

  9.     //初始化数据
  10.     public void initial() {
  11.         movies = new Movie[6];
  12.         rooms = new Room[3];

  13.         for (int i = 0; i < rooms.length; i++) {
  14.             Room room = new Room();
  15.             room.no = (i + 1);
  16.             room.initialRoom();
  17.             rooms[i] = room;
  18.         }
  19.     }

  20.     //新增电影
  21.     public boolean addMovie() {
  22.         boolean result = false;
  23.         for (int i = 0; i < movies.length; i++) {
  24.             if (movies[i] == null) {
  25.                 Movie movie = new Movie();
  26.                 System.out.print("请输入电影的名称:");
  27.                 movie.name = input.next();
  28.                 System.out.print("请输入电影的类型");
  29.                 movie.type = input.next();
  30.                 System.out.print("请输入电影的主演");
  31.                 movie.actor = input.next();
  32.                 System.out.print("请输入电影的价格");
  33.                 movie.price = input.nextDouble();
  34.                 movies[i] = movie;
  35.                 result = true;
  36.                 break;
  37.             }
  38.         }
  39.         return result;
  40.     }

  41.     //所有电影信息
  42.     public void showAllMovie() {
  43.         System.out.println("电影名称\t\t电影类型\t\t电影主演\t\t电影价格");
  44.         for (Movie movie : movies) {
  45.             if (movies != null) {
  46.                 System.out.println(movie);
  47.             }
  48.         }
  49.     }

  50.     //放映室信息
  51.     public void showRoomsInfo() {
  52.         for (int i = 0; i < rooms.length; i++) {
  53.             if (rooms[i].movie != null) {
  54.                 System.out.println(rooms[i]);
  55.             }
  56.         }
  57.     }

  58.     //查找电影
  59.     public Movie findMovie(String name) {
  60.         Movie movie = null;
  61.         for (int i = 0; i < movies.length; i++) {
  62.             if (movies[i] != null) {
  63.                 if (name.equals(movies[i].name)) {
  64.                     movie = movies[i];
  65.                     break;
  66.                 }
  67.             }
  68.         }
  69.         return movie;
  70.     }

  71.     //电影上映
  72.     public boolean setMovieRoom() {
  73.         Scanner input = new Scanner(System.in);
  74.         boolean result = false;

  75.         System.out.println("放映室设置播放的影片");
  76.         System.out.print("请输入放映室编号");
  77.         int roomNO = input.nextInt();
  78.         System.out.print("请输入放映影片的名称:");
  79.         String playName = input.next();
  80.         System.out.print("请输入放映影片的时间:");
  81.         String playTime = input.next();



  82.         Room room = rooms[roomNO - 1];
  83.         if (room.movie == null) {
  84.             room.initialRoom();
  85.             room.movie = findMovie(playName);
  86.             room.time = playTime;
  87.             result = true;
  88.         } else {
  89.             System.out.println("该放映室已有电影播放!");
  90.             result = false;
  91.         }
  92.         return result;
  93.     }

  94.     //售卖
  95.     public boolean saleTicket() {
  96.         boolean result = false;
  97.         System.out.println("电影院放映信息如下:");
  98.         showRoomsInfo();
  99.         System.out.println("请输入要观看的放映室编号:");
  100.         int roomNO = input.nextInt();
  101.         if (rooms[roomNO - 1].movie != null && roomNO <= rooms.length) {
  102.             rooms[roomNO - 1].showSeats();
  103.             System.out.println("请输入座位号:");
  104.             int seatNo = input.nextInt();
  105.             boolean res = rooms[roomNO - 1].setSaleSeat(seatNo);
  106.             if (res) {
  107.                 System.out.println("购票成功");
  108.                 System.out.println("打印小票,信息如下:");
  109.                 System.out.println("--------------------");
  110.                 System.out.println("电影" + rooms[roomNO - 1].movie.name);
  111.                 System.out.println("价格" + rooms[roomNO - 1].movie.price);
  112.                 System.out.println("播放室编号" + roomNO + "\t座位号:" + seatNo);
  113.                 System.out.println("播放时间:" + rooms[roomNO - 1].time);
  114.                 result = true;

  115.             } else {
  116.                 System.out.println("购票失败");
  117.             }
  118.         }
  119.         return result;
  120.     }
  121. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-17 15:53:46 | 显示全部楼层
  1. package yw;


  2. public class Main {

  3.     public static void main(String[] args) {
  4.         Menu menu = new Menu();
  5.         menu.startRun();
  6.     }

  7. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-17 16:05:38 | 显示全部楼层
本帖最后由 slience_缄默 于 2020-11-17 16:07 编辑

还有个类死活发不出去,是不是系统认为我灌水了
  1. package yw;

  2. public class Room {

  3.         //播放室编号
  4.         int no;

  5.         //播放电影
  6.         Movie movie;

  7.         //播放时间
  8.         String time;

  9.         //座位数
  10.         int[] seats=new int[28];

  11.         //初始化座位号
  12.         public void initialRoom() {
  13.                 for (int i=0;i<seats.length;i++) {
  14.                         seats[i]=i+1;
  15.                 }
  16.         }

  17.         //展示座位信息
  18.         public void showSeats() {
  19.                 System.out.println(no+"号播放室的座位信息如下:");
  20.                 for (int i=0;i<seats.length;i++) {
  21.                         if (seats[i]==0) {
  22.                                 System.out.print("无"+"\t");
  23.                         } else {
  24.                                 System.out.print(seats[i]+"\t");
  25.                         }
  26.                         if ((i+1)%7==0) {
  27.                                 System.out.println();
  28.                         }
  29.                 }
  30.         }

  31.         //购票
  32.         public boolean setSaleSeat(int i) {
  33.                 boolean result=false;
  34.                 if (seats[i-1]==0) {
  35.                         return false;
  36.                 } else {
  37.                         seats[i-1]=0;
  38.                         return true;
  39.                 }
  40.         }

  41.         public int getSeatsNum() {
  42.                 int num=0;
  43.                 for (int seat:seats) {
  44.                         if (seat!=0) {
  45.                                 num++;
  46.                         }
  47.                 }
  48.                 return num;
  49.         }
  50.         public String toString() {
  51.                 return no+"\t\t"+movie.name+"\t\t"+time+"\t\t"+getSeatsNum();
  52.         }
  53. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-11-18 13:45:05 | 显示全部楼层
slience_缄默 发表于 2020-11-17 16:05
还有个类死活发不出去,是不是系统认为我灌水了

nice 呀 谢谢老哥   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-11-18 13:48:10 | 显示全部楼层
slience_缄默 发表于 2020-11-17 16:05
还有个类死活发不出去,是不是系统认为我灌水了

但是我原来到底是哪里错了,能帮忙指出来吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-18 14:18:10 | 显示全部楼层
温木zou 发表于 2020-11-18 13:48
但是我原来到底是哪里错了,能帮忙指出来吗?

就是在你原有的代码上改的,有参数错的,有true写错的,还有方法放哪里也是错的,你对比下你的原有代码就好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-11-18 16:56:12 | 显示全部楼层
slience_缄默 发表于 2020-11-18 14:18
就是在你原有的代码上改的,有参数错的,有true写错的,还有方法放哪里也是错的,你对比下你的原有代码就 ...

这是错很多的意思吗。心累  Java这玩意儿真难
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 20:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表