时区转换
题目内容:
UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8 。程序读入一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分,小时是0,则没有百位部分;如果分小于10分,则保留10位上的0.有效输入范围是0到2359,输出UTC时间。
分析思路:输入范围定义错误,分不能大于59,因此更改输入范围为小时大于等于0小于等于23,分大于等于0小于等于59
程序:
package temperature;
import java.util.Scanner;
public class Timechange {
public static void main(String[] args) {
// TODO Auto-generated method stub
int BJT;
int h;
int m;
Scanner in = new Scanner(System.in);
System.out.println("请输入北京时间BJT:");
BJT = in.nextInt();
in.close();
h = BJT/100;
m=BJT%100;
if (h>=0&&h<=23&&m>=0&&m<=59) {
if (h<8)
{
h=24+(h-8);
if (m<10)
{
System.out.println("世界协调时UTC:"+h+"0"+m);
}
else
{
System.out.println("世界协调时UTC:"+h+m);
}
}
else if (h==8)
{
if (m<10)
{
System.out.println("世界协调时UTC:0"+m);
}
else
{
System.out.println("世界协调时UTC:"+m);
}
}
else
{
h=h-8;
if (m<10)
{
System.out.println("世界协调时UTC:"+h+"0"+m);
}
else
{
System.out.println("世界协调时UTC:"+h+m);
}
}
}
else
{
System.out.println("时间格式不正确,请重新输入!");
}
}
}