編輯:對不起,我是個白癡。我沒有意識到我的循環對於我的測試文檔數據來說太長了,最終產品將是150行,但我的只有9行,導致錯誤。對不起,浪費時間,並感謝您的幫助文件讀取器發現異常
因此,我需要編寫一個程序,從文件中讀取數據,數據分隔「,」我使用拆分命令存儲在陣列。每個第三個結果都是一個整數,需要像這樣解析,但是後來我遇到了一個異常。我的代碼具體..
try {
BufferedReader read = new BufferedReader(new FileReader("temp.txt"));
String file = read.readLine();
String[] store=file.split(",");
for (int i=2; i<150; i=i+3){
int result=Integer.parseInt(store[i]);
if (result>highresult){
highresult = result;
fName = store[i - 1];
sName = store[i - 2];
}
}
read.close();
} catch (IOException e) {
System.out.println("File Read Error");
}
例外是: 異常在線程 「主」 java.lang.ArrayIndexOutOfBoundsException:11 在testing.Testing.main(Testing.java:28) Java結果:1
我的for循環內的解析器遇到異常,我不能爲我的生活找到問題。一直盯着它,我想我看到了雙倍。任何想法怎麼了?
添加了清晰 - 測試文件本身包含以下數據
名1,Sname1,50,NAME2 Sname2,75,NAME3,Sname3,100
測試它與系統輸出消息顯示它收集來自陣列的數據正確,問題似乎是在[2] [5] [8](在這種情況下爲50,75,100)的數組中更改每個第三部分數據時的問題爲一個整數。
感謝您的耐心配合,這個網站仍然是新手。
sysout解析前存儲[i]以確保您有整數(對於調試purpouse - 也許您的文件沒有正確的格式(數字是用逗號作爲分隔符的小數?) – Nadir
我在解析器之前添加了一個sysout,並用計數器對它進行了測試,它在數組中指定的位置正確讀取數據。我創建的測試文件具有foll ow – Daggar
對不起,繼續從前 - 有以下... Name1,Sname1,50,Name2,Sname3,75,Name3,Sname3,100 – Daggar