2016-09-24 3 views
-1

私は読んでいるテキストファイルを持っていて、テキストの中の単語をファイルとしてハッシュマップのキーとして使用しようとしています。私はそれから、内容を見るためにハッシュマップを印刷したいと思います。これは大きなプロジェクトの前奏曲です。私は単純にテキストファイルを印刷することができますが、私はハッシュマップのデータ構造を試そうとしています。私は実行すると、私はエラー「PUT(文字列)が見つかりませ適切な方法」を取得しないハッシュマップを作成してその内容(キー)を印刷しようとしています

import java.io.*; //needed for File class below 
import java.util.*; //needed for Scanner class below 

public class readIn { 

    public static void readInWords(String fileName){ 
     try{ 
      //open up the file 
      Scanner input = new Scanner(new File(fileName)); 
      HashMap hm = new HashMap(); 
      while(input.hasNext()){ 
       //read in 1 word at a time and increment our count 
       String x = input.next(); 
       System.out.println(x); 
       hm.put(x); 
      } 
      System.out.println(hm); 
     }catch(Exception e){ 
      System.out.println("Something went really wrong..."); 
     } 
    } 


     public static void main(String args[]){ 
     int x = 10; //can read in from user or simply set here 

     String fileName = "test.txt"; 
     readInWords(fileName); 
    } 
} 

: は、ここで私がこれまで持っているコードです。私のより大きな目標は、このハッシュマップを作成し、特定のキーが値として現れる場所のリストを格納することです。しかし今、私は練習を通してハッシュマップについてもっと学びたいと思っています。なぜこれがうまくいかないのか誰かが知っているかどうかを知りたいのです。

+0

このコードではどのような問題がありますか? –

+0

あなたの特定の質問は何ですか? –

+0

test.txtが存在しているか、正しい場所にありますか? –

答えて

0

.put(x)メソッドはありません。地図 iterfaceです。 key引数を指定してput()メソッドを使用する必要があります。あなたの状況では、次のようになります:hm.put(x, x);

+0

readIn.javaユーザーに未チェックまたは安全でない操作が表示されるというエラーが発生しました。私は-Xlintで再コンパイルするべきです:詳細についてはチェックを外してください。これはどういう意味ですか?何が危険だったのですか? – mangodreamz

+0

HashMapの型が安全ではありません。 HashMap hm = new HashMap <>();に変更します。 –

+0

これは、ありがとう!私のハッシュマップの値を配列として初期化するのは簡単ですか? – mangodreamz

関連する問題