所以我试图制作一个程序,可以将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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句