求问这道题该怎么做?最好给出详细思路 谢谢

如题所述

第1个回答  推荐于2016-08-25
public class HotelManager
{
//定义二维数组来保存所有房间
private static Room[][] rooms=new Room[5][10];
//打印所有房间的方法
public static void printRooms()
{
//获取每一层的房间
for (Room[] ar:rooms)
{
//获取这一层每一间房间并打印
for (Room r:ar)
{
System.out.print(r);
}
//每打印完一层就输出一个换行符
System.out.print("\n");
}
}
//预定房间,将房间设为有人居住
public static void buyRoom(int x,int y)
{
rooms[y-1][x-1].setLived(true);
}
//退房
public static void returnRoom(int x,int y)
{
rooms[y-1][x-1].setLived(false);
}
//静态初始化块,初始化房间数组
static
{
for (int i=0;i<rooms[0].length;i++)
{
rooms[0][i]=new Room(RoomType.NORMAL,i+1,1);
}
for (int i=0;i<rooms[1].length;i++)
{
rooms[1][i]=new Room(RoomType.NORMAL,i+1,2);
}
for (int i=0;i<rooms[2].length;i++)
{
rooms[2][i]=new Room(RoomType.DOUBLE,i+1,3);
}
for (int i=0;i<rooms[3].length;i++)
{
rooms[3][i]=new Room(RoomType.DOUBLE,i+1,4);
}
for (int i=0;i<rooms[4].length;i++)
{
rooms[4][i]=new Room(RoomType.LUXURY,i+1,5);
}
}
//用于测试效果的main方法,获取用户输入并执行对应方法的代码留给你自己做:)
public static void main(String[] args)
{
printRooms();
System.out.println();
buyRoom(9,5);
printRooms();
System.out.println();
buyRoom(1,3);
buyRoom(6,4);
printRooms();
System.out.println();
buyRoom(2,2);
returnRoom(1,3);
System.out.println();
printRooms();
}
}
//房间类
class Room
{
//储存房间的类型、位置和是否有人居住
private final RoomType type;
private final int x,y;
private boolean lived;
//各个成员变量的setter和getter方法
public RoomType getType()
{
return type;
}
public int[] getLocation()
{
return new int[]{x,y};
}
public void setLived(boolean lived)
{
this.lived=lived;
}
public boolean getLived()
{
return lived;
}
//创建房间对象必须要使用房间类型枚举和坐标
public Room(RoomType type,int x,int y)
{
this.type=type;
this.x=x;
this.y=y;
}
//重写toString()方法以输出房间的描述信息
public String toString()
{
return y+""+(x<10?"0"+x:x)+" "+type+" "+(lived?"有人居住":"无人居住")+" ";
}
}
//房间类型枚举
enum RoomType
{
NORMAL("标准间"),DOUBLE("双人间"),LUXURY("豪华间");
private String string;
public String toString()
{
return string;
}
private RoomType(String string)
{
this.string=string;
}
}
//你的问题分类应该写Java,要不然别人不可以用知道的代码格式的~本回答被提问者采纳
相似回答
大家正在搜