-1

当我单击应用程序的计算按钮时,它会在 JTextField 中显示输出。但是总是前面有字符串“null”,我无法向自己解释为什么会发生这种情况。

这是相关的代码:

total1.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        String timeIn = tIn1.getText();
        String timeInArr[] = strtimein.split(":");
        double dblTimeInHr = Double.parseDouble(timeInArr[0]);
        double dblTimeInMin = Double.parseDouble(timeInArr[1]);
        double dblTotalTimeIn = dblTimeInHr + (dblTimeInMin/60);

        String timeOut = tOut1.getText();
        String timeOutArr[] = strtimeout.split(":");
        double dblTimeOutHr = Double.parseDouble(timeOutArr[0]);
        double dblTimeOutMin = Double.parseDouble(timeOutArr[1]);
        double dblTotalTimeOut = dblTimeOutHr + (dblTimeOutMin/60);

        totalHours = totalHours + (dblTotalTimeOut - dblTotalTimeIn);

        tal1.setText(totalHours);
     }
});

这是我的 GUI 屏幕: 考勤卡

为什么会有空值?请帮忙

4

1 回答 1

2

如果您最后一个问题的代码是最近的,我猜是那一行:

totalHours = totalHours + (dblTotalTimeOut - dblTotalTimeIn);

如果totalHoursnull它将“null”与结果连接起来(由于连接而dblTotalTimeOut - dblTotalTimeIn隐式转换为)。String

请注意,totalHours您的代码中不包含 of 的声明,因此我不得不猜测它是 a String(这没有多大意义),因为您调用了tal1.setText(totalHours);.

于 2013-02-19T16:22:18.577 回答