[英]How to search array for hotel room number then store a guest name to that room?
System.out.println("Please enter the number of the Basic room you would like to book : Basis Room 1, Basis Room 2, Basis Room 3 or Basic Room 4");
int rooms = input.nextInt();
int Key = rooms;
for (int i = 0; i<basicRooms.length;i++){
if (Key ==(basicRooms[i])){
System.out.println("Basic room " + rooms + " is empty"); break;
下面是示例代码,它将存储客人姓名和房间号
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Map <Integer, String> basicRooms =new HashMap <Integer,String>();
basicRooms.put(1,"");
basicRooms.put(2,"");
basicRooms.put(3,"");
basicRooms.put(4,"");
Scanner input =new Scanner(System.in);
System.out.println("Please enter the number of the Basic room you would like to book : Basis Room 1, Basis Room 2, Basis Room 3 or Basic Room 4");
int rooms = input.nextInt();
int key = rooms;
for (int i = 0; i<=basicRooms.size();i++){
if (basicRooms.containsKey(key) ){
System.out.println("Basic room " + rooms + " is empty");
System.out.println("Please enter Guest name");
input.nextLine();
String guestName = input.nextLine();
basicRooms.put(key, guestName);
break;
}else{
System.out.println("Not Empty");
}
}
System.out.println(basicRooms);
}
}
我也认为您应该使用HashMap.Room作为键并将名称作为值。如果您想根据插入顺序显示Room,则可以使用LinkedHashMap。Room类中的guestName属性是代码嗅觉,因为如果房间已注册来宾。如果没有注册该房间的来宾,则不会设置属性guestName,它将是多余的代码。这是代码异味。
使用哈希图。 房间作为键,名称作为值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.