所以我试图制作一个程序,可以将s从输入转换为h,m和s。到目前为止,我的代码如下所示:
import java.util.Scanner;
class q2_5{
public static void main(String args[]){
Scanner input = new Scanner(System.in);
int s=0;//seconds
int m=0;//minutes
int h=0;//hour
System.out.println("how many seconds?");
s=input.nextInt();
if(s >= 60){
m=s/60;
} if(m>=60){
h=m/60;
}
System.out.println(s + "s = " + h + " h " + m + " m " + s + "s ");
}
}
好的,所以我不得不将s,m,h初始化为0,因为如果没有,我在if语句中遇到问题,所以我将其设置为0,因为以后可以更改它了。因此,此程序现在的问题是,如果我输入3603,则会得到以下输出:3603s = 1 h 60 m 3603s,如果我输入3600,则会得到:
3600s = 1 h 60 m 3600s,但输出应分别为3603s = 1h 0m 3s和3600s = 1h 0m 0s。有关如何解决此问题的任何提示/建议/解决方案? :D预先感谢!
最佳答案
您从未更改过s
的值。一个快速的解决方法是s = s - (h*3600 + m*60)
编辑:t = s - (h*3600 + m*60)
关于java - 将秒转换为小时,分钟和秒?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24590769/