Java代码将秒转换为分钟,小时和天

时间:2015-10-20 00:26:41

标签: java

我正在尝试创建一个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";
    }
}

非常感谢 维尼

1 个答案:

答案 0 :(得分:3)

您将seconds存储为String,计算机不知道输入是一个数字,而且它甚至可能不是数字。您可以使用静态方法Integer.parseInt尝试将字符串转换为整数。

int numSeconds = Integer.parseInt(seconds)

如果NumberFormatException不是有效号码,则可以抛出seconds

将数字作为正确类型后,您可以将其传递给方法timeConversion(numSeconds);

根据您对由于创建了JFrame而导致程序未正确退出的评论,JFrame将保持您的程序正常运行,直到它被正确处理掉。使用JFrame类超出了您的问题的范围,但是您的程序根本不需要此框架,请将其删除。将null作为parentComponent方法的showInputDialog传递。

JOptionPane.showInputDialog(null, "Enter Number Of Seconds to Convert");

您可能会遇到一些后续问题: