My Table模型扩展了AbstractTableModel。在其中,我试图使用每行的最后一列来保存每一行的总和。在TableModel类的getValueAt()方法中,我有以下代码
public Object getValueAt(int row, int col){
int sum;
if(col==data[row].length-1){
for(int k=0; k<data.length;k++){
sum=0;
for(int l=0; l<data[k].length;l++){
sum+=(Integer)getValueAt(k,l);
}
data[k][30]=sum;
}
}
return data[row][col];
}
每当我运行上面的代码时,都会显示控制台中的StackOverflow和其他类型的错误。我无法找到此代码中的错误。此外,如果此代码将数组中每行的总和相加,我将无能为力。任何帮助将不胜感激。
答案 0 :(得分:0)
请尝试以下操作:
public Object getValueAt(int row, int col){
int sum;
if(col==data[row].length-1){
sum=0;
for(int l=0; l<data[row-1].length;l++){
sum+=(Integer)data[row-1][l];
}
data[row-1][30]=sum;
}
}
return data[row][col];
}
因为你覆盖了getValueAt方法,并且在你的方法中你再次调用getValueAt()
。由于递归,您将收到stackoverflow和其他错误。