Java SE基础篇小项目
与简单的学生管理系统一样,主要运用了增删改查
测试类中的if判断可以改为switch判断语句
import java.util.Scanner;
//测试类
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Hotel h = new Hotel();
System.out.println("欢迎使用酒店管理系统");
while(true){
System.out.println("1、订房 2、退房 3、查看所有房间状态 4、退出系统");
int i = sc.nextInt();
if (i==1){
System.out.println("请输入需要定的房间号:");
int o = sc.nextInt();
h.jia(o);
}else if (i==2){
System.out.println("请输入需要退的房间号:");
int o = sc.nextInt();
h.tui(o);
}else if (i==3){
h.dayin();
}else if (i==4){
h.t();
return;
}else {
System.out.println("功能编号输入错误,请重新输入");
}
}
}
}
//酒店
public class Hotel{
// private Room[][] rooms;rooms = new Room[6][10];
//上方代码可以改写成 Room[][] rooms = new Room[6][10];
private Room[][] rooms;
public Hotel(){//无参构造类加载的时候直接执行此代码
rooms = new Room[6][10];//运用了二维数组
for (int i = 0; i < rooms.length; i++) {
for (int j = 0; j < rooms[i].length; j++) {
if (i==0){
rooms[i][j]=new Room((i+1)*100+j+1,"单人间",true);
}else if (i==1){
rooms[i][j]=new Room((i+1)*100+j+1,"双人间",true);
}else if (i==2){
rooms[i][j]=new Room((i+1)*100+j+1,"标准间",true);
}else if (i==3){
rooms[i][j]=new Room((i+1)*100+j+1,"豪华间",true);
}else if (i==4){
rooms[i][j]=new Room((i+1)*100+j+1,"主题房间",true);
}else if (i==5){
rooms[i][j]=new Room((i+1)*100+j+1,"总统套房",true);
}
}
}
}
//查看所有房间
public void dayin(){
for (int i = 0; i < rooms.length; i++) {
for (int j = 0; j < rooms[i].length; j++) {
Room r =rooms[i][j];
System.out.print(r);
//简化后
//System.out.print(rooms[i][j]);
}
System.out.println();
}
}
//添加房客
public void jia (int id){
Room r = rooms[id/100-1][id%100-1];
r.setZhuangtai(false);
System.out.println(r.getId()+"成功订房");
}
//退房
public void tui(int id){
Room r = rooms[id/100-1][id%100-1];
r.setZhuangtai(true);
System.out.println(r.getId()+"已退房");
}
//退出系统
public void t(){
System.out.println("已退出酒店管理系统!");
}
}
import java.util.Objects;
//房间
public class Room {
private int id;
private String leixing; //房间类型
private boolean zhuangtai;//true为空闲
public Room() {
}
public Room(int id, String leixing, boolean zhuangtai) {
this.id = id;
this.leixing = leixing;
this.zhuangtai = zhuangtai;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getLeixing() {
return leixing;
}
public void setLeixing(String leixing) {
this.leixing = leixing;
}
public boolean isZhuangtai() {
return zhuangtai;
}
public void setZhuangtai(boolean zhuangtai) {
this.zhuangtai = zhuangtai;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Room room = (Room) o;
return id == room.id &&
zhuangtai == room.zhuangtai &&
Objects.equals(leixing, room.leixing);
}
@Override
public int hashCode() {
return Objects.hash(id, leixing, zhuangtai);
}
@Override
public String toString() {
return "【" + id +"\t"+ leixing + '\t' + (zhuangtai ?"空闲":"占用" )+ '】';
}//三目运算符
}