Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何计算基于GUI的程序中的总小时数?_Java - Fatal编程技术网

Java 如何计算基于GUI的程序中的总小时数?

Java 如何计算基于GUI的程序中的总小时数?,java,Java,我正在创建一个简单的基于GUI的时间卡。所以我已经有了实现(由一位朋友提供),但它只是在一个非GUI程序中实现的 System.out.print("Enter time-in: "); String strTimein = input.next(); String timeInArr[] = strTimein.split(":"); double dblTimeInHr = Double.parseDouble(timeInArr[0]); double dblTimeInMin = Dou

我正在创建一个简单的基于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 timeIn = tIn1.getText();
String timeInArr[] = strtimein.split(":");
我猜您希望拆分文本字段
tIn1
,因此不应使用
strtimein
,而应使用
timeIn
strtimein
不会在任何地方声明,这就是您的错误消息所说的

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

下面的
timeOut
/
strTimeOut
也一样

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

您的代码中没有声明这两个字符串。。 创建这两个
strTimeOut
strTimeIn


似乎你真的想在你的
actionPerformed()
方法中使用
timeIn
timeOut

,你有
strtimein
,在你的错误中你有
strtimein
。注意首都?哪一个是正确的?你能发布准确的例外吗?哦,天哪,我真是太愚蠢了。是的,我想我是想用timeIn。谢谢@ciara然后你可以投票决定答案并接受任何给定的答案
String timeInArr[] = timeIn.split(":");