我在運行時在String weapon = dataz[1];
行上得到了數組索引超出範圍的異常。我不確定是什麼導致了這一點,因爲這幾乎是我以前分配使用的相同的代碼。任何邏輯,爲什麼發生這將不勝感激!不知道爲什麼數組超出範圍JAVA
public Hero[] getHeroes(){
String file = getFilePath();
Hero[] heroPower = new Hero[5];
int i=0;
try{
Scanner data = new Scanner(file);
while(data.hasNextLine() && i < 5)
{
String next = data.nextLine();
if(!next.trim().isEmpty())
{
String[] derp = next.split(",");
String name = derp[0];
String weapon = derp[1];
int attackPoints = Integer.parseInt(derp[2]);
heroPower[i] = new Hero(name,weapon,attackPoints);
i++;
}
}
data.close();
} finally {
}
return heroPower;
}
}
'next'的內容是什麼? – rgettman 2014-09-23 16:27:14
什麼是'dataz'?這不在你發佈的代碼中。 – CPerkins 2014-09-23 16:27:22
這意味着你的輸入中有一行沒有逗號。 – 2014-09-23 16:28:42