【发布时间】:2022-01-04 09:46:52
【问题描述】:
if(ExcessTimeHours >= 24) {
ExcessTimeHours = 0;
}
if(ExcessTimeMin >= 60) {
ExcessTimeMin = 0;
ExcessTimeHours ++;
}
我添加第一部电影开始的时间,然后我添加该电影的时长,然后我添加第二部电影的开始时间,还添加这部电影的时长,程序会告诉我我是否能够同时看到这两个电影电影没有问题,或者我会错过电影的几分钟或者我无法制作。
我的问题是,当时间超过午夜并从 24 小时跳到 0 小时时,我不知道如何解决这个问题。无法弄清楚情况。
System.out.println("Start of movie A:");
System.out.print("hour: "); // 17; 23; 0
int startHourA = s.nextInt();
System.out.print("min: "); // 30; 30; 30
int startMinA = s.nextInt();
System.out.println("Length of movie A:");
System.out.print("hour: "); // 2; 2; 2
int lengthHourA = s.nextInt();
System.out.print("min: "); // 0; 0; 1
int lengthMinA = s.nextInt();
System.out.println("Start of movie B:");
System.out.print("hour: "); // 20; 0; 0
int startHourB = s.nextInt();
System.out.print("min: "); // 0; 20; 31
int startMinB = s.nextInt();
System.out.println("Length of movie B:");
System.out.print("hour: "); // 0; 1; 2
int lengthHourB = s.nextInt();
System.out.print("min: "); // 35; 35; 0
int lengthMinB = s.nextInt();
int timeBetweenMoviesHour = startHourB - ExcessTimeHours;
int timeBetweenMoviesMin = startMinB - ExcessTimeMin;
if (timeBetweenMoviesHour == 0 && timeBetweenMoviesMin >= 0) {
System.out.println("Recommendation: No problem");
}
else if (timeBetweenMoviesMin > 0) {
System.out.println("Recommendation: You won't see " +
timeBetweenMoviesMin + " minutes");
}
else System.out.println("Recommendation: You can't make it");
【问题讨论】:
-
请为您的问题添加更多详细信息,因为目前尚不清楚。你想做什么?应该发生什么?什么目前不起作用?
-
当值超过
24或60时,为什么要将值设置为0?这意味着如果你有ExcessTimeMin == 493,你的代码等于ExcessTimeHours == 1和ExcessTimeMin == 0,这是错误的。如果有的话,您需要从字段中减去24或60的倍数,直到再次进入有效范围。 -
是的,这正是我不知道该怎么做。我知道这是写错了。
标签: java if-statement time