将秒转换为H:M:S,具有“效率”

时间:2015-10-21 18:09:25

标签: java

我必须将秒数转换为H:M:S,并且在考试中值得30分,但是我因为“效率”而停靠了3分。为什么呢?

import javax.swing.JOptionPane;
public class secToMin{

    public static void main(String[] args){
        int sec, secTotal, hour, min, rem;
        secTotal = Integer.parseInt(JOptionPane.showInputDialog("Enter number of seconds"));
        if (secTotal<0) 
        {   
            System.out.println("invalid input");
            System.exit(0);
        }

        hour = (secTotal/3600);
        rem = (secTotal%3600);
        min = (rem/60);
        sec = (rem%60);
        JOptionPane.showMessageDialog(null, secTotal + " equals " + hour + ":" + min + ":" + sec + ".");  

        System.exit(0);             
    }
}

1 个答案:

答案 0 :(得分:0)

考试的潜在预期解决方案可能是避免使用像“3600”这样的神奇数字(好吧,这是一个众所周知的值,但它是一个很大的值)。

相反,Units of time定义的International System of Units中的the National Institute of Standards and Technology只会告诉您一小时是“60分钟”而一分钟是“60秒”。

您可以通过以下方式实现相同的转换步骤:

min = secTotal / 60;
hour = min / 60;
min = min % 60;
sec = secTotal % 60;