我對java很陌生。我必須在學校製作一個節目,但是當我嘗試運行這個時,我得到一個錯誤。 ArrayIndex .......:在139行0,這將是我把兩個*放在前面。我很難找到自己的錯誤。我一整天都在做這個。 謝謝! PS:我正在使用名爲easyIO的軟件包,以防你們中的一些人無法理解某些命令。ArrayIndexOutOfBoundsException:0
編輯:我終於找到它了,這是一個小問題。但是現在我無法讓該死的程序找到我在數組中搜索的內容。
void UtskriftArt() {
In Utskrift = new In();
In søkefil = new In("Fugler.txt");
int i= 0;
int teller = 0;
String[][] ArtArray = new String[teller][4];
for(; i > 0 && !søkefil.endOfFile(); i++){
søkefil.readLine();
teller++;
if(søkefil.endOfFile()){
søkefil.close();
}
}
System.out.print("Hvilken art vil du søke opp og skriv ut obeservasjonsdata for? ");
String ArtSøke = Utskrift.inWord().trim();
String Art = " ";
System.out.println("\t\t" + Art);
for(i = 0; i <= ArtArray.length; i++){
**if(ArtSøke == ArtArray[i][0]){
Art = ArtArray[i][0];
System.out.print(ArtArray[i][1]);
System.out.print("\t" + ArtArray[i][2]);
System.out.println("\t" + ArtArray[i][3]);
}
2提示:你不能比較一個字符串==你需要做string.equals(otherString)。並且不要在變量名稱中使用特殊字符。 – Mirco
我會留在程序中使用英文名稱。或者至少命名限於ASCII集...相信我。國家人物只是一個需要維護的痛苦。而我不是英語...... – ppeterka
這樣開始的循環:'for(; i> 0 &&!søkefil.endOfFile(); i ++)'永遠不會執行。第二部分說,只要'i'大於0(並且我們還沒有到達文件末尾),就繼續執行循環。然而,'i'從0開始,所以條件立即失敗。 – ajb