我有一个练习,我需要以 24 小时格式输入小时和分钟,然后程序将在 15 分钟后显示时间。当分钟数在 59 分钟后溢出时,它不起作用。例如,当我有输入时:

15
59

我的输出是:
15:74

我知道在正常时钟 59 分钟后将是 16:14 。我该如何正确处理这种情况?
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
      Scanner in = new Scanner(System.in);

      int hours = in.nextInt();
      int minutes = in.nextInt();

      if ( minutes == 59 ){
          hours = hours + 1;
          minutes = 00;
          minutes = minutes + 14; //because I passed 1 minute
      }
      else{
          minutes = minutes + 15;
      }
      System.out.printf("%d:%02d" , hours , minutes);
    }
}

最佳答案

您应该像这样使用模运算很容易:

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);

    int hours = in.nextInt();
    int minutes = in.nextInt();

    minutes = minutes + 15;
    hours += minutes / 60;
    minutes = minutes % 60;

    System.out.printf("%d:%02d", hours, minutes);
}

关于java - 如何将时间增加 15 分钟并处理溢出?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60241356/

10-11 06:53