码迷,mamicode.com
首页 > 编程语言 > 详细

java客房管理小项目,适合小白练手

时间:2020-01-08 01:03:06      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:turn   arc   static   退出   酒店   mic   str   sys   flag   

java客房管理小项目
这个客房管理小项目,适合java初学者练手。功能虽然不多,但是内容很齐全!
喜欢这样文章的可以关注我,我会持续更新,你们的关注是我更新的动力!需要更多java学习资料的也可以私信我!
技术图片
共有5层,每层10间客房,以数字101--509标示;
具有入住,退房,搜索,退出四个简单功能;
public class Hotel {
static final int floor = 5;
static final int order = 10;
private static int countFloor;
private static int countOrder;
private static String[][] rooms = new String[floor][order];

//main函数代表酒店的基本功能,入住,退房,查询,其他;
public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    String temp = null;
    while(true){
        //提醒用户选择输入
        System.out.println("请选择输入  in out search quit : ");
        temp = scan.next();
        int room = 0;
        if("in".equals(temp)){
            while(true){
                System.out.println("请输入房间号:");
                room = scan.nextInt();
                if(isRightRoom(room,1)){
                    break;
                }
            }
            System.out.println("请输入名字:");
            String name = scan.next();
            if(in(room,name)){
                System.out.println("恭喜您,入住成功");
                System.out.println(room + " : "+name);
            }
        }else if("out".equals(temp)){
            while(true){
                System.out.println("请输入房间号:");
                room = scan.nextInt();
                if(isRightRoom(room,0)){
                    break;
                }
            }
            if(out(room)){
                System.out.println("退房成功,欢迎下次光临");
            }
        }else if("search".equals(temp)){
            System.out.println("请输入查询的房间号(-1表示全部)");
            room = scan.nextInt();
            search(room);
        }else if("quit".equals(temp)){
            break;
        }else{
            System.out.println("您的输入有误,请再次输入!");
        }
    }
}

//flag:1 检查房间号输入正确 且 无人入住  0 仅检查房间号输入正确
private static boolean isRightRoom(int room,int flag) {
    //校验房间号是否输入有误
    countFloor = room / 100 - 1;
    countOrder = room % 100 - 1;
    if(countFloor < 0 || countFloor >= floor || countOrder < 0 || countOrder >= order ){
        System.out.println("输入的房间号有误");
        return false;
    }
    if(flag == 1){
        if(rooms[countFloor][countOrder] != null){
            System.out.println("房间已经入住");
            return false;
        }
    }
    return true;
}

//旅馆入住功能实现,in(room,name) countFloor:计算出的楼层 countOrder:计算出的房间顺序 
private static boolean in(int room,String name){
    rooms[countFloor][countOrder] = name;
    return true;
}

//旅馆退房功能实现,out(room),
private static boolean out(int room){
    //校验房间号是否有人入住
    if(rooms[countFloor][countOrder] == null){
        System.out.println("房间未曾入住,退房有误");
        return false;
    }
    rooms[countFloor][countOrder] = null;
    return true;
}

//旅馆搜索功能,search(room)
private static void search(int room){
    if(room == -1){
        int roomNum = 0;
        for(int i=0;i<floor;i++){
            for(int j=0;j<order;j++){
                roomNum = (i + 1) * 100 + j + 1;
                System.out.println(roomNum + "->" + 
                        (rooms[i][j] == null ? "empty" : rooms[i][j]));
            }
        }
    }else{
        //校验房间号是否正确
        if(!isRightRoom(room,0)){
            System.out.println("抱歉,房间输入错误!");               
        }else{
            System.out.println(rooms[countFloor][countOrder]);
        }
    }
}}

java客房管理小项目,适合小白练手

标签:turn   arc   static   退出   酒店   mic   str   sys   flag   

原文地址:https://blog.51cto.com/14623707/2465079

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!