2017-05-18 7 views
-6

Javaハッシュマップ - キー値のペアを標準入力からハッシュマップ構造に直接読み込むことはできますか?Javaハッシュマップ - StdinからHashMapへのキー値のペア

4 3 
1 1 
3 2 
2 2 
4 3 

私の考えで

セイユーザータイプが繰り返さプットとループのいくつかの並べ替えを行うことです。

+4

はい、可能です。やってみました?あなたは立ち往生していますか?あなたの質問は何ですか? – shmosel

+2

"私のアイデアは、繰り返されるputで何らかの種類のループを行うことです。" - - それは良いアイデアです。なぜそれをやろうとしないのですか?立ち往生した場合は、戻って来ている問題について質問してください。 – azurefrog

答えて

-1

intやStringsなどの追加方法はわかりませんが、必ずオブジェクトでなければなりません。

class Inp { 
    public void scan() { 
     Scanner sc = new Scanner(System.in); 

     HashMap<Integer,Integer> map = new HashMap<Integer,Integer>(); 
     while (true) { 
      String sr = sc.nextLine(); 
      String[] tk = sr.split(" "); 
      Integer key = 0, value = 0; 
      try { 
       key = Integer.parseInt(tk[0]); 
       value = Integer.parseInt(tk[1]); 
      } 
      catch (NumberFormatException e) { 
       break; 
      } 
      map.put(key,value); 
     } 

    } 

    public static void main(String[] args) { 
     Inp inp = new Inp(); 
     inp.scan(); 

    } 
} 

VERRRRYYYY長すぎるが、あなたはアイデアを得る。ループの中から抜け出すには、整数の他に何も入れないでください。あなたが望むものが分からなかった

+0

'try'ブロック内で' map.put(key、value) 'を使わないのはなぜですか?こうすることで、tryブロック内の2つの整数を宣言し、スコープを可能な限り小さく保つことができます。実際にはtryブロック内のすべての '論理'を実行できます。害を及ぼすことはありません... –

+0

どうしてでしょうか。私はちょうどそれを投げた。私は 'NumberFormatException'を強調表示したかっただけです。 – jiveturkey

+0

と-1が原因で動作しないのですか? – jiveturkey

関連する問題