java - 在Java中计算两次之间的差异
问题描述
我有个疑问。我需要在 Java 中创建一个程序,例如我输入 2 次 =14 25 12
和7 50 25
,然后减去6:34:47
. 在不使用 Java 中的任何 API 类的情况下如何做到这一点?我只能使用 Scanner 和if
statements。我尝试了类似下面的方法,但显然它不起作用,因为例如它的秒数12-25 = -13
,它应该是 47。
int seconds = seconds2 - seconds1;
int minutes = minutes2 - minutes1;
int hours = hours2 - hours1;
这行不通。
解决方案
你听说过结转吗?
如果 diff 值 <0,则加 60 并从下一个更高的值中减去 1。
从7 50 25到14 25 12:
hour = 14 - 7 = 7
minute = 25 - 50 = -25
second = 12 - 25 = -13
所以加上 60 秒,减去 1 分钟:
second = -13 + 60 = 47
minute = -25 - 1 = -26
所以加 60 分钟,减去 1 小时:
minute = -26 + 60 = 34
hour = 7 - 1 = 6
结果:
hour = 6
minute = 34
second = 47
6 34 47
推荐阅读
- mysql - 带条码读取的Mysql
- python - 在python中使用bscscan api的beautifulsoup
- rust - 如何在 Rust 中创建静态链接到 glibc 的动态 c 库
- node.js - MongoDB获取具有条件的字段的总和
- laravel - 502 Bad Gateway 当通过 laravel 回调 facebook 的社交时
- qt - 从管道中移除垃圾箱时管道挂起
- excel - 使用范围和数组函数时如何排除第一行?
- reactjs - 有没有办法计算没有 useselector for redux 的项目数
- r - 如何根据名称向工作区中的每个数据框添加一列?
- php - 此路由 Laravel + ConfirmBox 不支持 GET 方法