Java教程

Java 时间相减

本文主要是介绍Java 时间相减,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

题目描述

你是个贪睡虫,有一天被老师逮个正着,这个老师很有意思,提出一个问题:“给定入睡时刻和起床时刻,计算一共睡了多长时间”,如果回答正确就可以免于处罚。入睡时刻和起床时刻都采用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小时~
这篇关于Java 时间相减的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!