[英]Java convert seconds to days, hours, minutes, seconds with unique outputs
[英]Java Code to convert seconds into minutes, hours and days
我正在尝试创建一个Java代码,要求用户插入他们想转换的秒数,而我却无法运行它。 可以帮忙吗? 下面的代码.................................................
import javax.swing.*;
public class Week2Seconds {
private static final int MINUTES_IN_AN_HOUR = 60;
private static final int SECONDS_IN_A_MINUTE = 60;
public static void main(String[] args) {
JFrame frame = new JFrame("InputDialog");
String seconds = JOptionPane.showInputDialog(frame, "Enter Number Of Seconds to Convert");
}
private static String timeConversion(int seconds) {
final int MINUTES_IN_AN_HOUR = 60;
final int SECONDS_IN_A_MINUTE = 60;
int minutes = seconds / SECONDS_IN_A_MINUTE;
seconds -= minutes * SECONDS_IN_A_MINUTE;
int hours = minutes / MINUTES_IN_AN_HOUR;
minutes -= hours * MINUTES_IN_AN_HOUR;
return hours + " hours " + minutes + " minutes " + seconds + " seconds";
}
}
非常感谢Vinnie
您将seconds
存储为String
,计算机不知道输入是数字,因此可能甚至不是数字。 您可以使用静态方法Integer.parseInt
尝试将字符串转换为整数。
int numSeconds = Integer.parseInt(seconds)
如果seconds
不是有效数字,则可能引发NumberFormatException
。
将数字设为正确的类型后,可以将其传递给方法timeConversion(numSeconds);
根据您对为什么由于创建了JFrame
而导致程序无法正确退出的评论, JFrame
将使您的程序一直运行,直到正确处理为止。 使用JFrame
类超出了您的问题范围,但是您的程序根本不需要此框架,请将其删除。 将null
作为showInputDialog
方法的parentComponent
传递。
JOptionPane.showInputDialog(null, "Enter Number Of Seconds to Convert");
您可能遇到的一些后续问题可能是:
try { } catch(NumberFormatException e) { }
并采取相应的措施。 这样的问题和旁白应该可以帮助您仅使用计数器对数字范围和数字值进行JAVA输入验证
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.