0

我正在创建一个简单的基于 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(":");

我知道我的代码有问题,但我无法弄清楚。请帮忙。

4

3 回答 3

1

你还没有在你的代码中声明这两个字符串..创建这两个strTimeOutstrTimeIn
看起来你实际上想要使用timeIntimeOut

于 2013-02-19T15:26:05.567 回答
1

strtimein没有在任何地方声明,您可能打算使用timeIn.

于 2013-02-19T15:25:13.500 回答
0

出色地....

String timeIn = tIn1.getText();
String timeInArr[] = strtimein.split(":");

我猜你想分割文本字段的内容tIn1,所以你不应该使用strtimeinbut timeInstrtimein没有在任何地方声明,这就是您的错误消息所说的。

String timeInArr[] = timeIn.split(":");

timeOut/strTimeOut下面也一样

于 2013-02-19T15:25:04.540 回答