java 基础题 时间换算

1
时间换算 (5分)

题目内容:

UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8。现在,你的程序要读入一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果分小于10分,需要保留十位上的0。如1124表示11点24分,而905表示9点5分,36表示0点36分,7表示0点7分。

有效的输入范围是0到2359,即你的程序不可能从测试服务器读到0到2359以外的输入数据。

你的程序要输出这个时间对应的UTC时间,输出的格式和输入的相同,即输出一个整数,表示UTC的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果分小于10分,需要保留十位上的0。

提醒:要小心跨日的换算。


输入格式:

一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果小时不是0而且分小于10分,需要保留十位上的0。


输出格式:

一个整数,表示UTC的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果小时不是0而且分小于10分,需要保留十位上的0。


输入样例:

933


输出样例:

133

时间限制:500ms内存限制:32000kb

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int bjt;
		int g, s, b, q;
		bjt = in.nextInt();
		g = bjt % 10;
		s = bjt % 100 / 10;
		bjt = bjt / 100;
		if(bjt < 8){
			bjt = (bjt + 24 - 8);
			System.out.print(bjt);
			System.out.print(s);
			System.out.println(g);
		}
		else if(bjt == 8)
		{
			if(s != 0)
				System.out.print(s);
			System.out.println(g);
		}
		else if(bjt > 8){
			System.out.print(bjt - 8);
			System.out.print(s);
			System.out.println(g);
		}
	}

}


这道题需要注意的点就是803, 结果输出的应该是3,而不是03,我刚开始就是在这儿出的错,才开始接触java,先用这道简单的题目练练手。。。








你可能感兴趣的:(java 基础题 时间换算)