当我单击应用程序的计算按钮时,它会在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
为什么有空?请帮忙
答案 0 :(得分:2)
如果上一个问题的代码有点近,我猜它就是那条线:
totalHours = totalHours + (dblTotalTimeOut - dblTotalTimeIn);
如果totalHours
为null
,那么它会以#34; null"结果为dblTotalTimeOut - dblTotalTimeIn
(由于连接而隐式转换为String
。)
请注意,totalHours
的声明未包含在您的代码中,因此我必须猜测它是String
(这没有多大意义),因为您调用了{{1} }}