現在、テキスト ファイルから行を取り込み、HashMap の配列にデータを追加するコマンド ライン プログラムを作成しています。私は現在、NullPointerException
このメソッドを実行すると取得します。
Public class Vaerdata {
String[] linje;
String line;
String line2;
HashMap<String, Stasjon> stasjonsmap = new HashMap<String, Stasjon>();
HashMap<String, Stasjon>[] regionmap = (HashMap<String, Stasjon>[]) new HashMap<?, ?>[6];
void init() throws IOException{
BufferedReader br = new BufferedReader(new FileReader("stasjoner_norge.txt"));
BufferedReader brData = new BufferedReader(new FileReader("klimadata2012.txt"));
for(int i = 0; i < 10; i++){
brData.readLine();
}
br.readLine();
while((line = br.readLine()) != null){
linje = line.split("\\s+");
stasjonsmap.put(linje[1], new Stasjon(Integer.parseInt(linje[1]), linje[2], Integer.parseInt(linje[3]), linje[4], linje[5], linje[6]));
}
if(linje[6].equals("AGDER")){
System.out.println(stasjonsmap.get(linje[1])); //DEBUG
regionmap[1].put(stasjonsmap.get(linje[1]).navn, stasjonsmap.get(linje[1]));
System.out.println(regionmap[1].get(stasjonsmap.get(linje[1]).navn)); //DEBUG
}
}
}
私NullPointerException
はこの行で起こります:
regionmap[1].put(stasjonsmap.get(linje[1]).navn, stasjonsmap.get(linje[1]));
私の質問は次のとおりです: HashMaps
withの配列を宣言したとき<String, Stasjon>
(Stasjon は Stasjon クラスのオブジェクトであり、特定の気象観測所に関する情報を取得します)、なぜその行でエラーが発生するのですか? のオブジェクトstasjonsmap.get(linje[1])
が宣言されていますが、2 番目のハッシュマップでこのオブジェクトを参照できない理由がわかりません。
テキスト ファイルのすべての行は、1 行目以降 (私のプログラムではスキップします) は次のようになります。
36200 TORUNGEN_FYR 12 ARENDAL AUST-AGDER AGDER
あらかじめ; ご協力いただきありがとうございます。