酒店管理系统
题目概括
使用java语言编写一个有订房,退房,查房功能的一个简易酒店管理系统
实现思路
房间类来存储房间信息,酒店类实现对房间数据修改的方法,测试类调用酒店类的方法实现查房,退房,订房操作。
代码实现
房间类:
package my.hotel;
//结构体(房间)
public class Room {
private String type;
private int roomname;
private boolean isbook;
//构造函数
public Room(String type,int roomname,boolean isbook) {
this.type=type;
this.roomname=roomname;
this.isbook=isbook;
}
public String gettype() {
return type;
}
public int getroomname() {
return roomname;
}
public boolean getisbook() {
return isbook;
}
public void totype(String type) {
this.type=type;
}
public void toroomname(int roomname) {
this.roomname=roomname;
}
public void toisbook(boolean isbook) {
this.isbook=isbook;
}
}
酒店类:
package my.hotel;
public class Myhotel {
private Room rooms[];
public Myhotel() {
rooms=new Room[9];
for(int i=0;i<=8;i++)
{
if(i<=2)
rooms[i]=new Room("标准间",100+i,false);
if(i>2&&i<=5)
rooms[i]=new Room("单人间",100+i,false);
if(i>5&&i<=8)
rooms[i]=new Room("豪华间",100+i,false);
}
}
//预定酒店
public void book(int roomname) {
for(int i=0;i<=8;i++)
{
if(roomname==rooms[i].getroomname())
{
if(rooms[i].getisbook()==false)
{
rooms[i].toisbook(true);
System.out.println("book successed,your roomname is"+roomname+" and the type is "+rooms[i].gettype());
}
else
{
System.out.println("sorry,this roomname is already booked!");
}
}
}
}
//退房
public void rebook(int roomname) {
for(int i=0;i<=8;i++)
{
if(roomname==rooms[i].getroomname())
{
rooms[i].toisbook(false);
}
}
}
//查房(按类型查有无空余房间)
public void cheak(String type) {
for(int i=0;i<=8;i++)
{
if(type.equals(rooms[i].gettype()))
{
if(rooms[i].getisbook()==false)
System.out.println("you can book "+rooms[i].getroomname());
}
}
}
}
测试类:
package my.hotel;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Myhotel h;
h=new Myhotel();
while(true) {
System.out.println("请输入你想要进行的功能。");
System.out.println("1.为订房,2.为退房,3.为按房间类型查找空余房间号。");
Scanner in=new Scanner(System.in);
int choice=in.nextInt();
if(choice==1) {
System.out.println("请输入你的房间号.");
int roomname=in.nextInt();
h.book(roomname);
}
if(choice==2) {
System.out.println("请输入你的房间号.");
int roomname=in.nextInt();
h.rebook(roomname);
}
if(choice==3) {
System.out.println("寻找标准间按1,单人间按2,豪华间按3");
int choose=in.nextInt();
if(choose==1)
{
h.cheak("标准间");
}
if(choose==2)
{
h.cheak("单人间");
}
if(choose==3)
{
h.cheak("豪华间");
}
}
}
}
}
收获
java中this和super的用法:
this用于同类之间的构造函数调用,并且有取消二义性(用this来指明当前对象,针对重名的情况下使用)。
super用于对基类(父类)的构造函数调用。
详细见网站:
https://www.cnblogs.com/yyy6/p/8976584.html