小型酒店管理系统毕业论文_简易酒店管理系统

小型酒店管理系统毕业论文_简易酒店管理系统一需求:编写程序模拟酒店管理系统:预订和退订以及查看所有房间1需要有一个酒店类2需要有一个房间类3需要有一个客户端类publicclassTest{}二分析:客户端:1先打印所有房间2等待用户输入,根据输入情况判断是预订还是退订3等待用户输入房间号4调用酒店的预订/退订方法把房间号传入完成预订/退订功能…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一 需求:

 编写程序 模拟酒店管理系统 : 预订和退订以及查看所有房间
  
  1 需要有一个酒店类
  
 2 需要有一个房间类
  
 3 需要有一个客户端类

public class Test {

}

二 分析:

  客户端 : 
          1 先打印所有房间
          2 等待用户输入,根据输入情况 判断是预订还是退订
          3 等待用户输入房间号
         4 调用酒店的 预订/退订方法 把房间号传入 完成预订/退订功能
          5 完成之后,做出相应提示 , 然后再次打印所有房间
          6 死循环 依次执行以上步骤
  

class Client{

    
}

 酒店类 : 
          规模 : 五层,每层10个房间
         其中 : 1,2 层为标准间
                  3,4 层为双人间
                  5层为豪华间
         房间编号 : 1层 : 101, 102, ….110 , 2层 : 201,202…210 … 以此类推
          房间默认都为空闲
      
  需要提供  
              预订房间方法 : 需要根据 房间编号 预订房间
                  如果该房间已经被预订了,需要提示
  
              退订房间方法  : 需要根据 房间编号 退订房间
                  如果该房间没有被预订 需要提示
  
              查看所有房间的方法 : 
                  打印格式为 : 
                      [101 标准间 占用] [102 标准间 空闲]….
                      [201 标准间 空闲] …..
                      [501 豪华间 空闲] …. [510 豪华间 占用]

三 代码实现

客户端(Client)

package HotelSystem;

import java.util.Scanner;

public class Client {
public static void main(String[] args) {
	Hotel hotel=new Hotel();
	Scanner s=new Scanner(System.in);
	while (true) {
		System.out.println("请输入你要选择的功能: 1 查看房间  2 房间预订 3 退房  0 退出");
		int a=s.nextInt();
		switch (a) {
		case 1:
			hotel.show();
			break;
		case 2:
			System.out.println("请输入房间号");
			int b=s.nextInt();
			hotel.order(b);
			break;
		case 3:
			System.out.println("请输入房间号");
			int c=s.nextInt();
			hotel.checkOut(c);
		break;
		case 0:
			return;
		}
		
	}
}
}

酒店类(Hotel):

package HotelSystem;//包名
import java.security.PublicKey;
public class Hotel {
	private Room[][] rooms=new Room[5][10];  //创建酒店房间的个数
    //构造方法
	public Hotel(){
		//对酒店进行初始化
		for(int i=0;i<rooms.length;i++){
			for(int j=0;j<rooms[i].length;j++){
				if(i<=2){
					rooms[i][j]=new Room((i+1)*100+j+1, "标准间", true);
				}
				if(i>2&&i<4){
					rooms[i][j]=new Room((i+1)*100+j+1, "双人间", true);
				}
				if(i==4){
					rooms[i][j]=new Room((i+1)*100+j+1, "豪华间", true);
				}
			}
		}
	}	 
	
	//房间展示
	public  void show(){
		for(int i=0;i<rooms.length;i++){
			for(int j=0;j<rooms[i].length;j++){
				System.out.print(rooms[i][j]+"      ");
			}
			System.out.println();
		}
	}	 
	//房间预订
	public void order(int num){
		if (num/100-1>4 || num%100-1>9){
			System.err.println("该房间不存在,请输入正确的房间号!");
		}else {
			if(num==rooms[num/100-1][num%100-1].getNumber()){
				if(rooms[num/100-1][num%100-1].isFlab()==false){
					System.err.println("该房间已被占用,请选择其他房间");
				}else {
					rooms[num/100-1][num%100-1].setFlab(false);
					System.out.println("预订成功!!!");
				}				
	}
		}
					}
	//退房
	public void checkOut(int num){
		if (num/100-1>4 || num%100-1>9){
			System.err.println("该房间不存在,请输入正确的房间号!");
		}else {
			if(rooms[num/100-1][num%100-1].isFlab()==true){
				System.err.println("该房间无需退房!!!");
			}else {
				rooms[num/100-1][num%100-1].setFlab(true);
				System.out.println("退房成功!!!");	
			}
		}		
	}
}

房间类(Room):

package HotelSystem;

public class Room {
private int number;
private String type;
private boolean flab;
//getSet方法
public int getNumber() {
	return number;
}
public void setNumber(int number) {
	this.number = number;
}
public String getType() {
	return type;
}
public void setType(String type) {
	this.type = type;
}
public boolean isFlab() {
	return flab;
}
public void setFlab(boolean flab) {
	this.flab = flab;
}
// 构造方法
public Room(int number, String type, boolean flab) {
	super();
	this.number = number;
	this.type = type;
	this.flab = flab;
}
@Override
public String toString() {
	return "Room ["+ number +"  "+  type +"  "+ (flab==true?"空闲":"占用") + "]";
}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189691.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月10日 下午6:22
下一篇 2026年3月10日 下午7:01


相关推荐

  • C语言获取数组长度

    C语言获取数组长度1 c 语言中 定义数组后可以用 sizeof 命令获得数组的长度 可容纳元素个数 例如 doublea 1 2 3 4 intlength length sizeof a sizeof a 0 数组占内存总空间 除以单个元素占内存空间大小 printf lengthofa d length 输出 lengthofa 42 但是 通过传递数

    2026年3月16日
    2
  • 在win10+Ubuntu双系统下,完美卸载Ubuntu

    在win10+Ubuntu双系统下,完美卸载Ubuntu背景机器:惠普暗影精灵3win10与Ubuntu均为UEFI分区清除ubuntu系统使用软件:diskgenius选择Ubuntu系统使用的几个分区,EFI分区也需要勾选若不确定Ubuntu系统分区,可通过【Windows+X】选择磁盘管理,通过分区大小进行对比判断我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点…

    2022年5月30日
    32
  • react的context用法_api接口源码

    react的context用法_api接口源码React中Context的API

    2022年4月21日
    31
  • wing是什么_计算二叉树的深度和叶子结点数

    wing是什么_计算二叉树的深度和叶子结点数设一个 n 个节点的二叉树 tree 的中序遍历为(1,2,3,…,n),其中数字 1,2,3,…,n 为节点编号。每个节点都有一个分数(均为正整数),记第 i 个节点的分数为 di,tree 及它的每个子树都有一个加分,任一棵子树 subtree(也包含 tree 本身)的加分计算方法如下:subtree的左子树的加分 × subtree的右子树的加分 + subtree的根的分数若某个子树为空,规定其加分为 1。叶子的加分就是叶节点本身的分数,不考虑它的空子树。试求一棵符合中序遍历为(1,2,

    2022年8月9日
    10
  • arcgis 同名图层合并_arcgis合并多个图层

    arcgis 同名图层合并_arcgis合并多个图层arcgis 合并多个图层方法一 Arctoolbox DataManageme General Merge 方法二 Arctoolbox DataManageme General Append 方法三 Arctoolbox AnalysisTool Overlay Union 方法四 编辑状态下复制粘贴 把所有图层中的要素复制到一个图层中 方法五 在 ArcCata

    2026年3月17日
    1
  • linux的上传和下载命令_yum安装rz命令

    linux的上传和下载命令_yum安装rz命令要使用rz、sz命令传输文件需要给服务器安装lrzsz:yum-yinstalllrzsz命令sz、rz的使用方法rz中的r意为received(接收),输入rz时,意为服务器接收文件,即将文件从本地上传到服务器。sz中的s意为send(发送),输入sz时,意为服务器要发送文件,既从服务器发送文件到本地,或是说本地从服务器上下载文件。注意:不论是send还是rec…

    2022年8月24日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号