所以我试图制作一个程序,可以将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/

10-12 18:00
查看更多