我正在创建一个简单的基于GUI的时间卡。所以我已经有了实现(由朋友给出),但它只是在一个非GUI程序中完成的。
System.out.print("Enter time-in: ");
String strTimein = input.next();
String timeInArr[] = strTimein.split(":");
double dblTimeInHr = Double.parseDouble(timeInArr[0]);
double dblTimeInMin = Double.parseDouble(timeInArr[1]);
double dblTotalTimeIn = dblTimeInHr + (dblTimeInMin/60);
System.out.print("Enter time-out: ");
String strtimeout = input.next();
String timeOutArr[] = strtimeout.split(":");
double dblTimeOutHr = Double.parseDouble(timeOutArr[0]);
double dblTimeOutMin = Double.parseDouble(timeOutArr[1]);
double dblTotalTimeOut = dblTimeOutHr + (dblTimeOutMin/60);
totalHrs = totalHrs + (dblTotalTimeOut - dblTotalTimeIn);
它确实有效。但是当我在基于GUI的程序中应用它时,我无法使它工作。所以我有两个JTextField,即用户输入时间和超时的地方。另一个JTextField,total1,即setEditable(false),它将显示总小时数。
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);
}
});
我得到的错误是“找不到符号”,它指向:
String timeInArr[] = strTimein.split(":");
和
String timeOutArr[] = strTimeOut.split(":");
我知道我的代码有问题,但我无法理解。请帮忙。
答案 0 :(得分:1)
strtimein
未在任何地方声明,您可能打算使用timeIn
。
答案 1 :(得分:1)
您还没有在代码中声明这两个字符串。
创建这两个strTimeOut
和strTimeIn
您似乎确实想要使用timeIn
和timeOut
答案 2 :(得分:0)
渴求
String timeIn = tIn1.getText();
String timeInArr[] = strtimein.split(":");
我想你想要分割文本字段tIn1
的内容,所以你不应该使用strtimein
而是timeIn
。 strtimein
未在任何地方声明,这就是您的错误消息所说的内容。
String timeInArr[] = timeIn.split(":");
timeOut
/ strTimeOut
以下