好基本上我創建一個酒店,其作用以下選項酒店使用數組
System.out.println("V: To View all rooms");
System.out.println("A: To Add customer to a room");
System.out.println("E: To Display empty rooms");
System.out.println("D: To Delete customer from a room");
System.out.println("F: Find room from customer name");
System.out.println("O: View rooms alphabetically by name");
- 現在,我能夠做的查看,添加客戶,顯示空房間並刪除」。
- 但是,我只是意識到我不能添加多個客戶,代碼只會爲每個房間分配一個同名的客戶。
例如:如果我將名稱TOM添加到房間2,然後再添加DENNIS到r oom 3. 房間2和房間3顯示它被丹尼斯佔用。 - 我知道爲什麼,因爲String客戶只能存儲一個信息。
我有一種感覺,我需要將客戶更改爲數組。
(請記住,我不想使用ArrayList)。
SO:我的問題是,我該如何解決這個問題?因爲我試圖與客戶合作作爲一個數組,我毀了整個編碼(thankgod本地歷史恢復!)
代碼:
package testroom;
import java.util.*;
public class TestRoom{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String Customer = null;
int roomNum = 1;
String Option;
String[] hotel = new String[12];
initialise(hotel);
while (roomNum < 11)
{
System.out.println("Hotel Booking Options");
System.out.println("V: To View all rooms");
System.out.println("A: To Add customer to a room");
System.out.println("E: To Display empty rooms");
System.out.println("D: To Delete customer from a room");
System.out.println("F: Find room from customer name");
System.out.println("O: View rooms alphabetically by name");
Option = input.next();
if (Option.equals("V")){ //viewing all rooms
view(hotel, Customer);
}
if (Option.equals("A")){ // adding a customer to a room
System.out.println("Enter room number(1-10)");
roomNum =input.nextInt();
System.out.println("Enter name for room " + roomNum + " : ") ;
Customer = input.next();
hotel[roomNum] = Customer ;
add(hotel, Customer);
System.out.println(" ");
}
if (Option.equals("E")){ //view all empty rooms
vacant(hotel, Customer); //links to private static void empty
}
if (Option.equals("D")){ //Deletes a customer from a room
//Searches if room is occupied, if it is then it will delete customer from that room
view(hotel, Customer);
System.out.println("Enter the room which you want to delete a customer from: ");
roomNum = input.nextInt();
hotel[roomNum] = "empty";
delete(hotel, Customer);
System.out.println("");
}
if (Option.equals("F")){ //view all empty rooms
find(hotel); //links to private static void empty
}
}
}
private static void initialise(String hotelRef[])
{
for (int x = 1; x < 11; x++)
hotelRef[x] = "empty";
System.out.println("Welcome to The Plaza");
}
public static void view(String hotel[], String Customer){
for (int x =1; x <11; x++)
{
int z=0;
String Customername = Customer;
hotel[z]= Customername;
if (hotel[x].equals("empty"))
System.out.println("room " + x + " is empty");
else {
System.out.println("room " + x + " is occupied by "+ hotel[z]);
}
}
}
private static void add(String hotel[], String Customer){
for (int x =1; x <11; x++)
{
int z=0;
String Customername = Customer;
hotel[z]= Customername;
if (hotel[x].equals("empty"))
System.out.println("room " + x + " is empty");
else {
System.out.println("room " + x + " is occupied by "+ hotel[z]);
}
}
}
private static void vacant(String hotel[], String Customer){
for (int x = 1; x < 11; x++)
{
int z=0;
String Customername = Customer;
hotel[z]= Customername;
if (hotel[x].equals("empty")) //if statement
System.out.println("room " + x + " is empty");
}
}
private static void delete(String hotel[], String Customer){ //link to this when pressed the D key
//view (hotel);
for (int x = 1; x < 11; x++)
{
int z=0;
String Customername = Customer;
hotel[z]= Customername;
if (hotel[x].equals("empty"))
{
System.out.println("room " + x + " is empty");
}
else {
System.out.println("room " + x + " occupied by " + hotel[x]);
}
}
}
private static void find(String hotel[]){
Scanner input = new Scanner(System.in);
System.out.println("Enter customer name for room:");
String customersname;
customersname = input.next(); //stores name they enter as customers name
for (int x = 0; x < 10; x++)
{
if (hotel[x].equals(customersname))
System.out.println("room " + x + " is occupied by "+hotel[x]);
}
}
}
你在這裏的問題是什麼? – 2013-03-02 19:48:27
我剛剛編輯我的帖子。 – 2013-03-02 19:49:01
您可以在發佈時更好地設置您的代碼的格式嗎? – vikingsteve 2013-03-02 19:51:24