继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Java 时间相减

慕粉9384571
关注TA
已关注
手记 4
粉丝 0
获赞 0

题目描述

你是个贪睡虫,有一天被老师逮个正着,这个老师很有意思,提出一个问题:“给定入睡时刻和起床时刻,计算一共睡了多长时间”,如果回答正确就可以免于处罚。入睡时刻和起床时刻都采用24小时制表示法(见备注),而且知道睡觉时间最少为1秒,最多为24小时。

输入

【输入格式】
输入第一行描述入睡时刻,第二行描述起床时刻,两个时刻都是采用“HH MM SS”,其中“HH”表示时,范围为0到23,“MM”表示分,范围为0到59,“SS”描述秒,范围为0到59。

输出

【输出格式】
输出一共睡了多长时间。格式同输入一样。
【输入输出样例1】

slpee.in					slpeee.out
20 0 0						8 0 0
4 0 0

【输入输出样例2】

slpee.in					slpee.out
12 34 56					2 1 26
14 36 2

【备注】
24小时制,是一种时间的表示方法。以区别于12小时制。
在24小时制中,下午1点被写成13点,下午2点被写作14点。
尽管,在生活中,我们使用更多的是12小时制。比如我们说,下午5点下班。我们说的,“朝9晚5”是指的是,上午9点和下午5点(普通职员上下班的时间)。但在科学严谨的说明中,在合同等法律文书中,时间要写成24小时制。

import java.util.Scanner;
public class Main{
	public static void main(String[] args){
		Scanner xh=new Scanner(System.in);
		int HH=xh.nextInt();
		int MM=xh.nextInt();
		int SS=xh.nextInt();
		int hh=xh.nextInt();
		int mm=xh.nextInt();
		int ss=xh.nextInt();
		int sum1=0,sum2=0,sum=0;
		int h,m,s;
		sum1=HH*3600+MM*60+SS;
		sum2=hh*3600+mm*60+ss;
		if(sum1<sum2){
		   sum=sum2-sum1;
		   h=sum/3600;
		   m=sum%3600/60;
		   s=sum%60;
		   System.out.println(h+" "+m+" "+s);
		}else{
		   sum=sum2+24*3600-sum1;//当sum2小于sum1的时候,就来了一个轮回,就是另一天加24*3600秒;
		   h=sum/3600;
		   m=sum%3600/60;
		   s=sum%60;
		   System.out.println(h+" "+m+" "+s);
		 }
	}
}

样例输入

12 34 56
14 36 22

样例输出

2 1 26

提示

请注意:睡眠时间最少为1秒,最多为24小时~
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP