2014-04-04 82 views
0

我試圖通過文件搜索打印出分數。以下是我有:java.lang.ArrayIndexOutOfBoundsException錯誤

while (input.hasNextLine()) { 
     String record = input.nextLine(); 
     String[] field = record.split(" "); 
     if(field[1].equals(targetState)) { 
      System.out.print(field[0] + ": "); 
      System.out.println(field[2]); 
     } 
    } 

而數據文件看起來像這樣:

2007,Alabama,252 

當我運行這段代碼,我得到的java.lang.ArrayIndexOutOfBoundsException錯誤。 我只是想知道什麼是錯的代碼

感謝

+1

發佈堆棧跟蹤 – BitNinja

+1

或者只是讀取異常。它會告訴你索引,集合的大小以及它發生的位置...... – clcto

+0

正確 - 閱讀非常好的例外。它會告訴你到底發生了什麼問題以及在哪裏。 –

回答

4

你需要使用逗號,而不是空間的分割。改變這種

String[] field = record.split(" "); 

String[] field = record.split(","); 

當你沒有在你輸入字符串的空間,所以它是沒有得到分流,因此輸出數組沒有多個項目,導致ArrayIndexOutOfBoundException

+0

謝謝一堆! – user3496026

相關問題