import java.util.Scanner;
public class Hello {
public static void main (String[] args){
// TODO Auto-generated method stub
Scanner in= new Scanner(System.in);
int BJT = in.nextInt();
if (BJT>=0&&BJT<=2359)
{
if(BJT>=60+100*(BJT/100)&BJT<=99+100*(BJT/100))
{
if(BJT-760>0)
{
System.out.println(BJT-760);
}
else
{
System.out.println(BJT+1640);
}
}
else
{
if(BJT-800>0)
{
System.out.println(BJT-800);
}
else
{
System.out.println(BJT+1600);
}
}
}
}
}
也就是BJT与UTC的时间转换
这道作业的难点有两个(对我来说)
1、160 诸如此类的数字需要转换为200
也就是加40
但得写一个区间来加以判断
我是这么做的
if (BJT>=60+100*(BJT/100)&BJT<=99+100*(BJT/100))
在写完作业后,我也试着跑了别人写的程序,
发现这个问题被忽略了
2、跨日转换
例如小于800也就是小于8点时,减去8个小时会得到负数
当然加上2400即可
第二个比第一个确实简单不少 顺理成章的便想了出来
但如何在这个难点上 使得程序更简洁 如何一步到位 便更复杂了罢