2017-07-09 42 views
0

我想將第3列與第4列相乘,並將其顯示在第一行,但是當我在下一行中添加數據時,再次計算並將其顯示在第二行上,第一行上的數據會發生變化。這是我的代碼,有什麼不對嗎?我想計算jtable中的數據,但我有一個錯誤[Java]

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; 
} 
+0

'model.setValueAt(totalCost,i,4);'您將值設置爲第4列,它覆蓋舊值 –

+0

但是我想將其顯示回該行和列 –

+2

循環的重點是什麼?你似乎有'行'需要更新,爲什麼更新其他行?也許你應該提供您的問題的可運行的例子,這將有助於你的問題 – MadProgrammer

回答

1

問題是,您正在重複使用第4列的成本和總計。

它的工作原理,因爲成本是正確的第一次(總= 9460000),但成本是錯誤的,因爲第4列現在是總的第二次。其結果是,它乘以總成本的數量(總= 946萬* 2 = 18920000)

您需要使用新列總數,一切都應該罰款。

+0

的工作,,謝謝你這麼多 –

+0

請[接受答案](http://meta.stackexchange.com/a/5235/155831)如果它有助於解決問題。與約翰相同的想法,但提供詳細信息的鏈接。 ;) –

相關問題