どのように私は、ユーザー入力を取得し、HashMapの中にそれを保存し、プリントアウトするために別々に2つのキーを作成するのですか?

JackieTowns:

私はハッシュマップについての学習を始めたと私はそれらをプリントアウトすることができますが、私は両方の値がそれらを保存し、それらをプリントアウトするためにユーザ入力を取得する方法を考え出すのトラブルを抱えています。

それとも私が間違った方法でこの問題を見ているのですか?

System.out.println("Let us know about your pets!");     
Map<String, String> pets = new HashMap<>();

String userInput; 
String name;
String type;        
int numberOfPets = 0; 
boolean valid = true; 

try (Scanner scnr = new Scanner(System.in)) {
   do { 
      System.out.println("Enter a name: ");
      name = userInput.put(scnr.nextLine());

      System.out.println("What type of animal is " + (name));
      type = userInput.put(scnr.nextLine());

      System.out.println("Would you like to enter another? (y/n) ");

      numberOfPets++; 

    } while (scnr.next().equalsIgnoreCase("y"));

}

System.out.println("You entered" + number of pets +"pets.");
for (String key : pets.keySet()) {
    System.out.println(key + " is a " + pets.get(key));
}

私は結果が読みたいです:

名前を入力します:{ユーザーがEustanceに入ります}

Eustanceは、どのような種類の動物のです。

{ユーザーがドラゴンに入ります}

あなたは他のペットを入力しますか?

{はい}入力

名前:{ユーザーリーピチープに入ります}

リーピチープは、どのような種類の動物のです。

{ユーザは、マウスに入ります}

あなたは他のペットを入力しますか?

{番号}

あなたは2匹のペットに入りました。

ペットの名前のいずれかを入力(または終了するENDを入力):リーピチープマウスである{ユーザーリーピチープが入射します}。

ニコラスK:

あなたは名前を保存するためにコードを変更し、あなたに入力する必要がありHashMap、それが後で簡単に使用して取得できるように、以下のようにpets.get(...)

try (Scanner scnr = new Scanner(System.in)) {
    do {
        System.out.println("Enter a name: ");
        name = scnr.nextLine();

        System.out.println("What type of animal is " + (name));
        type = scnr.nextLine();

        // change made here 
        pets.put(name, type);

        System.out.println("Would you like to enter another? (y/n) ");

        numberOfPets++;

      // here as well coz scanner was skipping the input
    } while (scnr.nextLine().equalsIgnoreCase("y")); 

}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=281654&siteId=1