java写的订房系统(对于加深基础很有帮助)
1.是用数组写的,拿去运行就行了,注释详细,不怕看不懂,适合小白,也是很多学java经常碰见的作业
public class Room extends Object{
private int roomId;//房间的标编号
private String roomType;//房间的类型
private boolean roomStatus; //房间的状态 true 表示空闲,false表示占用
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Room)) return false;
Room room = (Room) o;
return getRoomId() == room.getRoomId() &&
getRoomStatus() == room.getRoomStatus() &&
Objects.equals(getRoomType(), room.getRoomType());
}
@Override
public String toString() {
return "Room{" +
"房间编号=" + roomId +
", 房间类型='" + roomType + '\'' +
", 房间状态=" + (roomStatus?"空闲":"占用") +
'}';
}
@Override
public int hashCode() {
return Objects.hash(getRoomId(), getRoomType(), getRoomStatus());
}
public Room() {
}
public Room(int roomId, String roomType, boolean roomStatus) {
this.roomId = roomId;
this.roomType = roomType;
this.roomStatus = roomStatus;
}
public int getRoomId() {
return roomId;
}
public void setRoomId(int roomId) {
this.roomId = roomId;
}
public String getRoomType() {
return roomType;
}
public void setRoomType(String roomType) {
this.roomType = roomType;
}
public boolean getRoomStatus() {
return roomStatus;
}
public void setRoomStatus(boolean roomStatus) {
this.roomStatus = roomStatus;
}
}
2.一共两个public类,另一个请创建新的
public class Hotel {
//酒店里面有二维数组,里面有房间
private Room[][] rooms;
public Room[][] getRooms() {
return rooms;
}
public void setRooms(Room[][] rooms) {
this.rooms = rooms;
}
public Hotel() {
rooms=new Room[ 3][10];
for (int i = 0; i < rooms.length; i++) {
int row=100;String roomtype;
if(i==0){
roomtype="小房间";
}
else if (i==1){
roomtype="大房间";
}else{
roomtype="总统套房";
}
for (int i1 = 0; i1 < rooms[i].length; i1++) {
int list=row;
rooms[i][i1]=new Room((i+1)*100+i1,roomtype,true);
}
}
}
public void printRoomStatus(){
for (int i = 0; i < rooms.length; i++) {
for (int i1 = 0; i1 < rooms[i].length; i1++) {
System.out.print(rooms[i][i1]+" ");
if(i1%4==0){
System.out.println();
}
}
}
}
public void order(int roomNumber){
int c=roomNumber/100;
int d=(roomNumber-c*100)/10;
int m=(roomNumber-c*100-d*10);
Room room = rooms[c][d+m];
if(rooms[c][d+m].getRoomStatus()==false){
System.out.println("此房间已满请选择其他房间");
return;
}
room.setRoomStatus(false);
System.out.println("订房成功");
}public void exit(int roomNumber){
int c=roomNumber/100;
int d=(roomNumber-c*100)/10;
int m=(roomNumber-c*100-d*10);
Room room = rooms[c][d+m];
room.setRoomStatus(true);
System.out.println("退房成功");
}
public void hotelSystem(){
System.out.println("输入1 表示订房,输入2表示查看房间状态,输入3推出系统");
Scanner scanner=new Scanner(System.in);
System.out.println("请输入编号");
int choice=scanner.nextInt();
switch (choice){
case 1:{
System.out.println("下面展示房间的状态");
System.out.println("-------------------------------------------------------------------------------");
printRoomStatus();
System.out.println("-------------------------------------------------------------------------------");
System.out.println("请输入房间的编号然后开始订房");
Scanner sc=new Scanner(System.in);
int roomNumber;
roomNumber=sc.nextInt();
order( roomNumber);
break;
}
case 2:{
printRoomStatus();
}
case 3:{
System.out.println("欢迎下次使用");
break;
}
}
}
}
class Customer{
private Hotel hotel;
public Hotel getHotel() {
return hotel;
}
public void setHotel(Hotel hotel) {
this.hotel = hotel;
}
public Customer() {
hotel=new Hotel();
}
public static void main(String[] args){
Customer xiaoming=new Customer();
xiaoming.hotel.hotelSystem();
}
}
3.拿去看看。多理解,对java学习很有帮助,这也是很多学java的朋友经常会碰到的一道作业把