鱼C论坛

 找回密码
 立即注册
查看: 5385|回复: 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 | 显示全部楼层
package yw;

import java.util.Scanner;

public class Menu {

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

    public void startRun() {
        Scanner input = new Scanner(System.in);
        System.out.println("欢迎进入影院售票系统!");
        Menu menu = new Menu();
        Cinema cinema = new Cinema();
        cinema.initial();
        int choose = 0;
        while (true) {
            choose = menu.startMenu();
            switch (choose) {
                case 1:
                    cinema.addMovie();
                    break;
                case 2:
                    cinema.showAllMovie();
                    break;
                case 3:
                    cinema.setMovieRoom();
                    break;
                case 4:
                    cinema.saleTicket();
                    break;
                default:
                    System.out.println("谢谢使用!再见!");
                    System.exit(0);
                    break;
            }
            System.out.println("输入r返回主菜单");
            if (!"r".equals(input.next())) {
                System.out.println("输入错误!程序结束!");
                break;
            }

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

使用道具 举报

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

import java.util.Scanner;

public class Movie {

    //电影名称
    String name;

    //电影类型
    String type;

    //电影主演
    String actor;

    //电影价格
    double price;

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

使用道具 举报

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

import java.util.Scanner;

public class Cinema {

    //电影数组
    Movie[] movies;

    //放映厅数组
    Room[] rooms;

    Scanner input = new Scanner(System.in);

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

        for (int i = 0; i < rooms.length; i++) {
            Room room = new Room();
            room.no = (i + 1);
            room.initialRoom();
            rooms[i] = room;
        }
    }

    //新增电影
    public boolean addMovie() {
        boolean result = false;
        for (int i = 0; i < movies.length; i++) {
            if (movies[i] == null) {
                Movie movie = new Movie();
                System.out.print("请输入电影的名称:");
                movie.name = input.next();
                System.out.print("请输入电影的类型");
                movie.type = input.next();
                System.out.print("请输入电影的主演");
                movie.actor = input.next();
                System.out.print("请输入电影的价格");
                movie.price = input.nextDouble();
                movies[i] = movie;
                result = true;
                break;
            }
        }
        return result;
    }

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

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

    //查找电影
    public Movie findMovie(String name) {
        Movie movie = null;
        for (int i = 0; i < movies.length; i++) {
            if (movies[i] != null) {
                if (name.equals(movies[i].name)) {
                    movie = movies[i];
                    break;
                }
            }
        }
        return movie;
    }

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

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



        Room room = rooms[roomNO - 1];
        if (room.movie == null) {
            room.initialRoom();
            room.movie = findMovie(playName);
            room.time = playTime;
            result = true;
        } else {
            System.out.println("该放映室已有电影播放!");
            result = false;
        }
        return result;
    }

    //售卖
    public boolean saleTicket() {
        boolean result = false;
        System.out.println("电影院放映信息如下:");
        showRoomsInfo();
        System.out.println("请输入要观看的放映室编号:");
        int roomNO = input.nextInt();
        if (rooms[roomNO - 1].movie != null && roomNO <= rooms.length) {
            rooms[roomNO - 1].showSeats();
            System.out.println("请输入座位号:");
            int seatNo = input.nextInt();
            boolean res = rooms[roomNO - 1].setSaleSeat(seatNo);
            if (res) {
                System.out.println("购票成功");
                System.out.println("打印小票,信息如下:");
                System.out.println("--------------------");
                System.out.println("电影" + rooms[roomNO - 1].movie.name);
                System.out.println("价格" + rooms[roomNO - 1].movie.price);
                System.out.println("播放室编号" + roomNO + "\t座位号:" + seatNo);
                System.out.println("播放时间:" + rooms[roomNO - 1].time);
                result = true;

            } else {
                System.out.println("购票失败");
            }
        }
        return result;
    }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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


public class Main {

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

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

使用道具 举报

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

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

public class Room {

        //播放室编号
        int no;

        //播放电影
        Movie movie;

        //播放时间
        String time;

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

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

        //展示座位信息
        public void showSeats() {
                System.out.println(no+"号播放室的座位信息如下:");
                for (int i=0;i<seats.length;i++) {
                        if (seats[i]==0) {
                                System.out.print("无"+"\t");
                        } else {
                                System.out.print(seats[i]+"\t");
                        }
                        if ((i+1)%7==0) {
                                System.out.println();
                        }
                }
        }

        //购票
        public boolean setSaleSeat(int i) {
                boolean result=false;
                if (seats[i-1]==0) {
                        return false;
                } else {
                        seats[i-1]=0;
                        return true;
                }
        }

        public int getSeatsNum() {
                int num=0;
                for (int seat:seats) {
                        if (seat!=0) {
                                num++;
                        }
                }
                return num;
        }
        public String toString() {
                return no+"\t\t"+movie.name+"\t\t"+time+"\t\t"+getSeatsNum();
        }
}
想知道小甲鱼最近在做啥?请访问 -> 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-11-15 21:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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