java入门项目酒店管理系统
- 项目的中所涉及的java知识
- 项目的要求
- 酒店抽象图示效果如下
- 创建Room实体类
- 创建酒店的java对象
- 编写测试方法
- 效果图
项目的中所涉及的java知识
这篇项目所需要知道的如下:
1.java面对对象的使用
2.二维数组的动态初始化以及循环遍历的使用
3.三目运算符 ? : 的使用
项目的要求
为某个酒店编写程序:酒店管理系统,模拟订房,退房,打印所有房间等功能;
1.该系统的用户是:酒店前台;
2. 酒店使用一个二维数组来模拟;
3.酒店的每个房间是一个实体类java对象:Room ;
3. 每个房间都有一些属性:房间编号,房间类型,房间状态;
4. 系统给用户提供的功能:
1.输入房间号订房;
2.输入房间号退房;
3.查询所有房间状态;
酒店抽象图示效果如下
创建Room实体类
package com.home;
public class Room {
private int rid;
private String type;
private boolean zt;
public Room() {
}
public Room(int rid, String type, boolean zt) {
this.rid = rid;
this.type = type;
this.zt = zt;
}
public int getRid() {
return rid;
}
public void setRid(int rid) {
this.rid = rid;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public boolean isZt() {
return zt;
}
public void setZt(boolean zt) {
this.zt = zt;
}
@Override
public String toString() {
return "["+rid+type+(zt ? "占用" : "空闲")+"]";
}
}
创建实体类房间并且重写toString()方法
三目运算符的使用
zt ? “占用” : “空闲”
创建酒店的java对象
package com.home;
import java.util.Scanner;
public class hotl {
private Room[][] rooms;
//hotl无参构造方法创建hotl对象是自动调用此方法
public hotl() {
//初始化酒店的房间(二维数组的遍历以及动态初始化)
rooms = new Room[3][6];
for (int i = 0; i < rooms.length; i++) {
for (int j = 0; j < rooms[i].length; j++) {
Room rn = new Room();
rn.setRid((100 * (i + 1) + j + 1));
if (i == 0) {
rn.setType("单人人间");
} else if (i == 1) {
rn.setType("双人人间");
} else if (i == 2) {
rn.setType("总统套房");
}
rooms[i][j] = rn;
}
}
}
//打印酒店每个房间(二维数组的遍历)
public void PrintRooms() {
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(" ");
}
System.out.println("查看所有房间成功"+"请继续输入数字指令");
}
//订房
public void setRooms() {
System.out.println("请输入你要入住的房间号");
Scanner sc = new Scanner(System.in);
int id = sc.nextInt();
Room rn = rooms[id / 100 - 1][id % 100 - 1];
rn.setZt(true);
System.out.println("订房成功你的房间号为"+id+"请继续输入数字指令");
}
//退房
public void EscRooms() {
System.out.println("请输入你要退住的房间号");
Scanner sc = new Scanner(System.in);
int id = sc.nextInt();
Room rn = rooms[id / 100 - 1][id % 100 - 1];
rn.setZt(false);
System.out.println("退房成功你退的房间号为"+id+"请继续输入数字指令");
}
}
编写测试方法
package com.home;
import java.util.Scanner;
public class hotlsystem {
public static void main(String[] args) {
System.out.println("请观看注意事项");
System.out.println("请输入1--->查看房间");
System.out.println("请输入2--->预定房间");
System.out.println("请输入3--->退定房间");
System.out.println("请输入4--->退出系统");
hotl h = new hotl();
//while死循环防止程序只能使用一次就结束了
while (true) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
if (a == 1) h.PrintRooms();
if (a == 2) h.setRooms();
if (a == 3) h.EscRooms();
if (a == 4) {
System.out.println("退出成功欢迎下次使用本系统");
return;
}
}
}
}
效果图