0

我想通过单击按钮获取表中某一列的值的总和,执行计算,然后在相应的文本字段中显示结果。

我使用了以下代码:-

    int delivery = Integer.parseInt(DELIVERYCHG.getText());

    int subtot = 0;

    for (int i = 0; i <= ITEMDETAILSTABLE.getRowCount(); i++) {
        String stot1 = (ITEMDETAILSTABLE.getValueAt(i, 4).toString());
        int stot = Integer.parseInt(stot1);
        subtot = subtot + stot;
    }

    SUBTOTAL.setText("" + subtot);

    int subtotanddelivery = subtot + delivery;
    int gst = (int) (0.18 * subtotanddelivery);
    int total = subtotanddelivery + gst;
    GST.setText("" + gst);
    TOTAL.setText("" + total)

但输出显示如下错误:线程“AWT-EventQueue-0”中的异常 java.lang.ArrayIndexOutOfBoundsException: 5 >= 5。

如何解决?

4

1 回答 1

1

改变:

int i = 0; i <= ITEMDETAILSTABLE.getRowCount(); i++

int i = 0; i < ITEMDETAILSTABLE.getRowCount(); i++

索引从零开始计数,因此如果存在 5 个元素,则 4 是最大索引。

于 2017-07-15T08:48:10.250 回答