這是我的方法,我已經經歷了每一次超出界限的例外,但無法確定發生了什麼事情。這是不一樣的其他問題,我已經嘗試了所有其他問題數組越界異常from tablemodel-
頒發的邏輯步驟private void gettablecount(TableModel mod){
int r = mod.getRowCount()+1;
int c = mod.getColumnCount()+1;
String[][] ps = new String[r][c];
for (int rw = 0;rw <=r;rw++){
for (int cl = 0;cl<=c;cl++){
ps[rw][cl] = mod.getValueAt(rw, cl).toString();
System.out.print(ps[rw][cl] + " ");
}
System.out.println();
}
}
我的表模型國防部R = 133行和c = 249列,然後我嘗試把這個成二維數組,無論我嘗試如何繼續超越界限例外,請有人可以提供一些幫助嗎?我已經得到的錯誤是x> = x或-1,或者只是x,試圖解決這個問題。應該很直接,但我不知道發生了什麼。
我剛纔試過這樣:
private void gettablecount(TableModel mod){
int r = mod.getRowCount()+1;
int c = mod.getColumnCount()+1;
String[][] ps = new String[r][c];
for (int rw = 0;rw <r;rw++){
for (int cl = 0;cl<c;cl++){
ps[rw][cl] = mod.getValueAt(rw, cl).toString();
System.out.print(ps[rw][cl] + " ");
}
System.out.println();
}
}
,但我得到的堆棧跟蹤:在線程 「AWT-EventQueue的 - 0」 java.lang.ArrayIndexOutOfBoundsException
例外:249> = 249 是java .util.Vector.elementAt(Vector.java:474)
這是我的向量,其中線474是,我已註釋的線474
public synchronized E elementAt(int index) {
if (index >= elementCount) {
//line 474 below
throw new ArrayIndexOutOfBoundsException(index + " >= " + elementCount);
}
return elementData(index);
}
發佈堆棧跟蹤 –
'int rw = 0; rw <= r; rw ++'和'int cl = 0; cl <= c; cl ++'<---再仔細看一遍。除了'String [] [] ps = new String [r] [c];'和'ps [rw] [cl]' – Tunaki
我會發布這個stacktrace,但這是因爲我應該有rw
Ingram