gpt4 book ai didi

java - JTable 错误列求和值

转载 作者:行者123 更新时间:2023-12-01 11:20:07 26 4
gpt4 key购买 nike

场景:
JTable 包含以下数据,我试图在下图中描述我想要做的事情:- enter image description here

所以,我想我能够解释我想要在这里实现的目标。

面临的问题当然,不显示准确的结果(求和)。我使用的代码是:

public void docTotal_Income(){
try{

int totC=8,xC=3,lC=4,eC=5, sC=6; // totC is the last column, xC-3rd, lC-4th and so on...


for(int i=0;i<(easypath.doctorBusiness_table.getRowCount());i++){ // "easypath.doctorBusiness_table" is the table name
sumTot += Double.parseDouble(easypath.doctorBusiness_table.getModel().getValueAt(i, totC).toString());
sumTotx += Double.parseDouble(easypath.doctorBusiness_table.getModel().getValueAt(i, xC).toString());
sumTotl += Double.parseDouble(easypath.doctorBusiness_table.getModel().getValueAt(i, lC).toString());
sumTote += Double.parseDouble(easypath.doctorBusiness_table.getModel().getValueAt(i, eC).toString());
sumTots += Double.parseDouble(easypath.doctorBusiness_table.getModel().getValueAt(i, sC).toString());
}
easypath.totalEarnt_docBus_tf.setText(String.valueOf(sumTot));
easypath.xTotIncome_tf.setText(String.valueOf(sumTotx));
easypath.lTotIncome_tf.setText(String.valueOf(sumTotl));
easypath.eTotIncome_tf.setText(String.valueOf(sumTote));
easypath.sTotIncome_tf.setText(String.valueOf(sumTots));

sumTot = 0; // public static
sumTotx = 0; // values globally
sumTotl = 0; // declared
sumTote = 0; // and
sumTots = 0; // initialised 0

}
catch(Exception ex){
ex.printStackTrace();
JOptionPane.showMessageDialog(null, "Error in totalling income");
}
}

在使用 Document Listener 细化 JTable 后,我正在调用方法 docTotal_Income() (工作正常)并最终在 JButton 上触发 eventListener

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {                                         
new doctor().docTotal_Income(); // doctor is the class
}

在完成所有这些之后,我得到了不规则的求和。我猜我在逻辑上出了问题,但是我还缺少其他东西吗?

我很乐意对此提出任何建议。感谢您的宝贵时间

最佳答案

new doctor().docTotal_Income(); // doctor is the class

首先,类名应该以大写字符开头。 “doctor()”应该是“Doctor()”。

为什么要创建一个新的 Doctor()?

如果您尝试过滤 TableModel 中的数据,那么您需要从表中获取数据,而不是 TableModel。

所以你的代码应该是这样的:

JTable table = easypath.doctorBusiness_table;

for(int i=0; I < table.getRowCount(); i++)
{
sumTot += Double.parseDouble(table.getValueAt(i, totC).toString());
sumTotx += Double.parseDouble(table.getValueAt(i, xC).toString());
sumTotl += Double.parseDouble(table.getValueAt(i, lC).toString());
sumTote += Double.parseDouble(table.getValueAt(i, eC).toString());
sumTots += Double.parseDouble(table.getValueAt(i, sC).toString());
}

关于java - JTable 错误列求和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31348479/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com