java中表格和二维数组的转换?

public double[][] FormsToArray(JTable ta){ //表格中数据转成二维数组
int row=ta.getRowCount();
int col=ta.getColumnCount();
double[][] array=new double[row][col];
for(int i=0;i<row;i++)
for(int j=0;j<col;j++)
array[i][j]=(Integer)ta.getValueAt(i+1,j+1);
return array;

}

public void TwoMatAdd(JTable ta1,JTable ta2){
int row1=ta1.getRowCount();
int col1=ta1.getColumnCount();
int row2=ta2.getRowCount();
int col2=ta2.getColumnCount();
if(row1!=row2||col1!=col2)
{Ta.setText("矩阵1和矩阵2的行列不相等,请使它们的行列相等");
}
else if(row1==row2&&col1==col2){
Integer[] columnNames=new Integer[col1];
for(int k=1;k<=col1;k++)
columnNames[k-1]=k;
double[][] arr1=new double[row1][col1];
double[][] arr2=new double[row1][col1];
Double[][] arr3=new Double[row1][col1];
arr1=FormsToArray(ta1);
arr2=FormsToArray(ta2);
for(int i=0;i<row1;i++)
for(int j=0;j<col1;j++)
arr3[i][j]=arr1[i][j]+arr2[j][i];
table3=new JTable(3,3);
sp3.add(table3);
}
else exit(0);
}
表格中的数据是从键盘上输入的数字,我的意图是把两个表格中的数据转换成二维数组,再相加(两个矩阵的相加),然后输入到第三个表格.
exit(0)可不可以退出这个函数的循环?
帮我看下里面有没有错误?
table3=new JTable(3,3);
应改成:
table3=new JTable(arr3,columnNames);
要考虑行列不相等的各种情况.
最新回答
一澜冬雪

2024-11-06 06:50:47

建议你写一个javabean 例如getc1(),getc2(),将数组替换成javabean对象 这样更明了..列表的动态更新需要用到victor