栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java练习之酒店管理系统

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java练习之酒店管理系统

酒店管理系统:
需求: 实现一个简单的酒店客房管理系统,房间信息包含,类型、楼层,房间号,价格,入住状态,它具备5个功能:
分别为【1:查看所有房间 功能;2:订房功能;3:退房功能;4:修改价格功能;5:退出本系统功能】

分析:

酒店的房间信息可以用二维数组装起来,此篇博客我使用一维数组,用五个一维数组分别存储类型,房间号,价格,入住状态,楼层的信息可以用一个数组下标,输出不同的数组的值,组成一个房间的所有信息。

五个功能,分别定义五个不同的方法,代表不同的功能。同时定义一个菜单方法,显示管理系统的所有功能。

1.在主函数中用switch case语句输入哪个值调用对应的功能。同时使用while语句不断循环case语句,选择退出功能时,结束循环

package com.company.day12;
import java.util.Scanner;

public class roomsys {
    //房间信息
    static int roomprice[]={200,199,400,600,1000,7000};
    static int folur[]={2,3,4,5,6,7};
    static int roomnumber[]={201,302,404,505,506,701};
    static String type[]={"单人间","单人间","双人间","双人间","豪华单人间","总统套房"};
    static String state[]={"已入住","无人","无人","已入住","无人","无人"};
    static int a=1;//while循环的变量
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("欢迎使用酒店管理系统");
        System.out.println("请选择功能:");
        menu();//菜单显示,选择功能
        //while不断循环,要执行的功能。
        while (a!=0) {
            int look = scanner.nextInt();
            switch (look) {
                case 1:
                    all();
                    break;
                case 2:
                    revervation();
                    break;
                case 3:
                    roomout();
                    break;
                case 4:
                    changeprice();
                    break;
                case 5:
                    System.out.println("已退出酒店管理系统");
                    exiting();
                    break;
            }
        }
    }

2.选择菜单方法:把五个功能for循环输出

  //菜单功能
    public static void menu(){
        String[] menu={"1.查看所有房间","2.订房","3.退房","4.修改价格","5.退出本系统"};
        for (int i = 0; i 
            System.out.print(menu[i]+" ");
        }
    }

查看所有房间功能。把五个数组循环遍历输出

 
    public static void all() {
//        String allroom[][] = {{"类型:单人间", "楼层:二楼", "房间号:201", "价格:200", "入住状态:已入住"},
//                {"类型:单人间", "楼层:3楼", "房间号:302", "价格:199", "入住状态:无人"},
//                {"类型:双人间", "楼层:4楼", "房间号:404", "价格:400", "入住状态:无人"}, {"类型:双人间", "楼层:5楼", "房间号:505", "价格:600", "入住状态:已入住"},
//                {"类型:豪华单人间", "楼层:5楼", "房间号:506", "价格:1000", "入住状态:已入住"}, {"类型:总统套房", "楼层:7楼", "房间号:701", "价格:7000", "入住状态:已入住"},};
        for (int i = 0; i < roomnumber.length; i++) {
                System.out.print("类型:"+type[i]+" "+"楼层:"+folur[i]+" "+"房间号:"+roomnumber[i]+" "+"价格: "+roomprice[i]+" "+"入住状态:"+state[i]);
                System.out.println();
                }
//            System.out.println(allroom[i][j]);
            }

订房功能:找到并且输出无人的房间信息,客户选择房间后,把房间状态改为已入住。
注意的是:当房间状态全部为已入住时,提示已住满(定义一个count,当count等于房间总数时,输出已住满)

订房功能:
    1.一维数组把每个房间信息分别装起来,订房的时候先查看这个入住状态,无人就输出。
    2.用户选择房间,选择的房间的入住状态标记为已入住
     */
        public static void revervation () {
            //循环找到,未入住的房间。
            for (int i = 0; i 
                if(state[i].equals("无人")){
                    System.out.print("类型:"+type[i]+" "+"楼层:"+folur[i]+" "+"房间号:"+roomnumber[i]+" "+"价格: "+roomprice[i]+" "+"入住状态:"+state[i]);
                    System.out.println();
                }
            }
            //客户选择入住的房间。
            int count=0;//定义一个计数器
            System.out.println("请选择房间类型:");
            Scanner room=new Scanner(System.in);
            String roomtypeselect=room.nextLine();//房间类型
            System.out.println("请选择房间号:");
            int roomnumber1=room.nextInt();//用户输入的房间号
            for (int i = 0; i 
                if(roomtypeselect.equals(type[i])&&state[i].equals("无人")&&roomnumber1==roomnumber[i]){
                    System.out.println("你选择的房间为:");
                    System.out.print("类型:"+type[i]+" "+"楼层:"+folur[i]+" "+"房间号:"+roomnumber[i]+" "+"价格: "+roomprice[i]);
                    state[i]="已入住";
                }
                //循环整个数组,找不到无人的状态,提示酒店已住满(如何判断整个数组都为已入住)
                if(state[i].equals("已入住")){
                    count++;
                    if(count==6){ //房间数
                        System.out.println("本酒店已住满");
                    }
                }
            }
        }

退房功能:找到退的房间号,把改房间状态改为无人。
注意:不可重复退相同的房间。

 
        public static void roomout () {
//            int count=0;//定义计数器,退房次数。当大于一时提示 已退房,请误重复退房
            Scanner tuitui=new Scanner(System.in);
            System.out.println("退房功能");
            System.out.println("请输入要退的房间类型:");
            String tuitype=tuitui.nextLine();
            System.out.println("请输入要退的房间号:");
            int tui=tuitui.nextInt();
            //把退房的状态改为无人
            for (int i = 0; i 
                if(roomnumber[i]==tui){
//                    count++;
                    state[i]="无人";
                    System.out.println("退房成功,祝您生活愉快");
                }
                //输入房间号错误
//                else if(roomnumber[i]!=tui&&type[i]!=tuitype){
//                    System.out.println("输入房间号错误");
//                }
                //重复退房
//                if(count==2){
//                    System.out.println("已退房,请误重复退房");
//                }


            }
        }

修改价格功能:修改房间价格,要知道修改什么房间类型,并且改为多少钱

  修改价格功能
    1.输入要修改房间价格的类型,输入修改后的价格。
    2.找到房间类型的下标索引,把修改的价格赋值给roomprice数组,完成价格修改。
     */
        public static void changeprice () {
            System.out.println("要修改的价格的房间类型");
            Scanner change1=new Scanner(System.in);
            String change=change1.nextLine();//修改价格的房间类型
            System.out.println("修改的价格为:");
            int changeprice=change1.nextInt();//输入该房间类型的修改价格
            for (int i = 0; i 
                if(change.equals(type[i])){
                    roomprice[i]=changeprice;
                    System.out.println("房间价格修改完成");
                }
            }
        }

退出本系统:return一个变量值,作为while循环的结束条件

 
        public static int exiting(){
            return a=0;
        }

运行结果:

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1016389.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号