2016-12-19 4 views
-1

私のコードで何か問題はありません。分割線に私にArrayIndexOutOfBoundsExceptionを与え続けます。スプリントラインの何が間違っているか教えてもらえますか? 私はファイルから文字列を読み込み、それを2つに分割し、分割された文字列をパラメータに持つ新しいオブジェクトをmemberListに保存するように構築しています。 は、ここに私のtxtファイル分割文字列をコンストラクタパラメータに渡すときのArrayIndexOutOfBound

[email protected] Password 
[email protected] telephone 
[email protected] 123423 
EOF 

だと私は私のコードビットを変更しました。しかし、それでもスプリットラインで私を助けてくれません。

try { 
      br = new BufferedReader(new FileReader("\\memberlist.txt")); 
      String inputLine; 
      while((inputLine = br.readLine())!= null){ 
       String[] split = inputLine.split(" ");  
       User newUser = new User(split[0], split[1]); 
       memberList.put(key, newUser); 
       key++; 
     } 

PS catch節があります。ここに私のテキストファイルの形があります

+0

なぜ例外が発生しているのかお手伝いできますか? –

答えて

0

これまで、行に ""のない文字列を入れることができると考えられていました。その場合、split [1]は存在しないため、IndexOutOfBound例外が発生します。

2

あなたのtxtファイルを持たないと手伝っても非常に困難です。 ArrayIndexOutOfBoundsExceptionは、分割が空の配列または結果が1つのみの配列を返すことを示します。あなたはおそらく、スペースのないコードの行を持っています。

eclipseのdebbugモードを試してみるか、配列の内容を表示してdebbugしてください。

幸運。

+0

ありがとうございました:) –

+0

よろしくお願いします。 –