繁体   English   中英

如何搜索酒店房间号的数组,然后将客人姓名存储到该房间?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM