我必须将秒数转换为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);
}
}
答案 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;