我的程序符合規定越界異常,但是當我運行它,它給了我一個「數組越界異常的指數走出」數組索引使用的Integer.parseInt
public void readBoard(String filename) throws Exception {
File f = new File("myBoard.csv");
Scanner reader = new Scanner(f);
while(reader.hasNext()){
String line = reader.nextLine();
String [] b = line.split(",");
String type = b[0];
int i = Integer.parseInt(b[1]);
int j = Integer.parseInt(b[2]);
if(type.equals("Chute"))
board[i][j] = new Chute();
else if(type.equals("Ladder"))
board[i][j] = new Ladder();
}
誤差以int i =整數。 parseInt函數(b [1]);我的問題是我把String [1]和[2]變成int的方式是否正確?我想這不是因爲我有一個數組越界異常。我猜這意味着它指向該地區的現場,沒有任何東西。
Ohhhhhhhhh,這有幫助!謝謝。打印出陣列的大小很有幫助。它證明了這個數組的大小是1而不是3.現在我看到問題在哪裏,方法正在調用的文件中。非常感謝! – 2013-04-24 23:58:35
很高興爲您服務。灑水很有趣,並有助於您的代碼增長。這是最基本的調試技術,只要您繼續編碼,就會爲您提供服務。只記得在發佈版本中刪除調試語句,或者你總是可以打包調試語句。在你的類中創建一個名爲DEBUG的最終靜態布爾變量,然後當你需要撒上時,只需使用if(DEBUG)System.out.println(「myVar」+ myVar); – MarsAtomic 2013-04-25 00:02:18