我想将第3列与第4列相乘,并在第一行中显示它,但是当我在下一行中添加数据时,再次进行计算并在第二行中显示它时,第一行中的数据就会改变。这是我的代码,有什么问题吗?

public int getCost() {
     int row = showTrans.getRowCount();
     int col = showTrans.getColumnCount();
     int cost;

     for (int i = 0; i < row; i++) {
        cost = Integer.parseInt(showTrans.getValueAt(i, 3).toString()) *
               Integer.parseInt(showTrans.getValueAt(i, 4).toString());

        String totalCost = String.valueOf(cost);
        model.setValueAt(totalCost, i, 4);
     }

    return 0;
}

最佳答案

问题是您将第4列用于成本和总计。

第一次工作是因为成本正确(总计= 9460000),但是第二次成本是错误的,因为第4列现在是总计。结果,它将数量乘以总成本(总计= 9460000 * 2 = 18920000)

您需要使用新列作为总计,并且一切都应该很好。

10-06 13:04