Это мой метод, я прошел через все исключения из-за пределов, но не могу понять, что происходит. Это не то же самое, как и другие вопросы, как я попробовал все логические шаги, выпущенные из других вопросовarray out of bounds exception 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();
}
}
моя таблица модель моды имеют г = 133 строк и с = 249 столбцов, я тогда попытаться положить это в 2d, и независимо от того, что я пытаюсь, я получаю исключения из ограничений, пожалуйста, кто-нибудь может помочь? Ошибки, которые я получил, это 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();
}
}
Но я получаю трассировку стека:
Исключение в нити "АВТ-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);
}
Опубликовать stacktrace –
'int rw = 0; rw <= r; rw ++' и 'int cl = 0; cl <= c; cl ++' <--- внимательно посмотрите на это. Наряду с 'String [] [] ps = new String [r] [c];' и 'ps [rw] [cl]' – Tunaki
Я выложу этот стек, но это потому, что я должен иметь rw
Ingram