时间计算器

写一个算法:

要求:

        用户第一行会输入一个时间(包含时分)xx:xx

        第二行表示具体操作次数

        后面行数为操作次数,可以 为+2,-3等,代表操作了x分钟

写一个算法,计算当前时间,进行操作后时间(包含时分)

1.首先这四行用于处理接受的时间,以:进行拆分

用hour接受当前小时,min接受当前分钟

        Scanner in = new Scanner(System.in);
        String[] time = in.nextLine().split(":");
        int hour = Integer.valueOf(time[0]);
        int min = Integer.valueOf(time[1]);

2.用这一行接受操作次数

int n = in.nextInt();

3.接下来就开始核心代码

首先接收具体操作,接收完后需要判断当前行数是否大于1

若不是代表此次输入有误,不进行任何操作

若是进行下一步操作

        将符号和数字进行拆分,先判断符号是+还是-

        若是-需要考虑到分钟减到0后需要进行的操作

                减操作需要考虑分钟减到0之后要从59开始减,小时也要相应-1,小时减到0之后要从23开始减

                先判断需要操作的分钟是否比当前时间的分钟小,若是直接相减即可

                若不是就需要先处理需要操作小时

                        由于对小时操作时,哪怕是59-60也需要多操作一次小时

                        所以使用ceil向上整形,而取余24表示需要考虑加的时间超过了一天的情况,但只有时分,所以直接取余操作,保证就算要减一天半(24*60*1.5分钟),实际只用操作半天即可

                        判断当前小时是否大于对小时操作的次数

                                是直接减去即可

         

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值