为什么输出中有一个null?

时间:2013-02-19 16:17:54

标签: java

当我单击应用程序的计算按钮时,它会在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屏幕: timecard http://i48.tinypic.com/2qtybo2.png

为什么有空?请帮忙

1 个答案:

答案 0 :(得分:2)

如果上一个问题的代码有点近,我猜它就是那条线:

totalHours = totalHours + (dblTotalTimeOut - dblTotalTimeIn);

如果totalHoursnull,那么它会以#34; null"结果为dblTotalTimeOut - dblTotalTimeIn(由于连接而隐式转换为String。)

请注意,totalHours的声明未包含在您的代码中,因此我必须猜测它是String(这没有多大意义),因为您调用了{{1} }}