编程练习【时间显示】

题目描述
小蓝要和朋友合作开发一个时间显示的网站。

在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从 19701970 年 11 月 11 日 00:00:0000:00:00 到当前时刻经过的毫秒数。

现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需要显示出时分秒即可,毫秒也不用显示,直接舍去即可。

给定一个用整数表示的时间,请将这个时间对应的时分秒输出。

输入描述
输入一行包含一个整数,表示时间。

输出描述
输出时分秒表示的当前时间,格式形如 HH:MM:SS,其中 HH 表示时,值为 00​​​​ 到 2323​​​​,MM 表示分,值为 00​​​​ 到 5959​​​,SS 表示秒,值为 00​​ 到 5959​。时、分、秒 不足两位时补前导 00。

输入输出样例
输入

46800999
输出

13:00:00

思路描述: 分别计算输入的数字换算成时分秒后得到的值,判断结果是否小于10,如果小于10,给结果拼接一个“0”在前面,如果大于10,则则直接拼接结果,最终输出拼接结果。

代码如下:

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		long mes=input.nextLong();
		long hours=(mes%(1000*60*60*24))/(1000*60*60);
		long minutes=(mes%(1000*60*60))/(1000*60);
		long seconds=(mes%(1000*60))/(1000);
		String s1="0";
		String s2="0";
		String s3="0";
		if(minutes<10) {
			s1+=minutes+"";
		}else {
			s1=minutes+"";
		}
		if(hours<10) {
			s2+=hours+"";
		}else {
			s2=hours+"";
		}
		if(seconds<10) {
			s3+=seconds+"";
			System.out.println(s2+":"+s1+":"+s3);
		}else {
			System.out.println(s2+":"+s1+":"+seconds);
		}
	}
}

注意:要用long类型去接收输入的值,避免输入数据过大超出内存空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值