Сценарий:
JTable содержит следующие данные, я пытался описать то, что я пытаюсь сделать в изображении ниже: - JTable ошибочного суммирования столбца значения
Итак, я предполагаю, что я способный объяснить, чего я пытаюсь достичь здесь.
Проблема столкнулась Не отображать точные результаты (суммирование), конечно. Код, который я использовал это:
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");
}
}
Я вызываю метод docTotal_Income()
после уточнения JTable
с Document Listener
(работает отлично) и, наконец, выпустив в eventListener
на JButton
.
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
new doctor().docTotal_Income(); // doctor is the class
}
В конце концов это я нерегулярные сложений. Я предполагаю, что я ошибался где-то с логикой, но есть ли что-то еще, чего я не вижу?
Я с радостью оцениваю любые предложения по этому вопросу. Спасибо за ваше время
Что такое «скачками суммирование»? Является ли ваш итог 0,01? Выключено на 1,000,000? Общее количество [NaN] (http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html#NaN)? Бесконечность? – VGR
Нерегулярный не означает никаких ошибок в размере или что-то еще. Я попытался объяснить, что он дает неправильное суммирование, 5 + 5 = 20 и т. Д ...., который, я думаю, является ** логической ошибкой **, но я не могу указать на это, поэтому поставил весь сценарий в этот порядок – mustangDC
поместить номер в XxxTableModel, переопределить getColumnClass внутри определений моделей – mKorbel