军事时钟分钟

时间:2015-06-18 02:12:22

标签: java

我必须做一个问题:

  • 00:01至5:59 am(值为1-559)
  • 6:00至11:59 am(值为600-1159)
  • 中午12点(价值为1200)
  • 12:01至17:59 pm(值为1201-1759)
  • 18:00至11:59小时(价值将是1800-2359)
  • 午夜24:00(价值将是2400)
  • 任何其他值都失败。

这是我遇到问题的地方,您必须验证分钟不在60到99之间,如果是,则应显示错误(示例470是错误)。

除了那部分外,一切都有效。如何修复代码以使其工作?

这是代码

public void tipoHora(int hora){

     if(hora>=1 && hora<=559){
         System.out.println("Madrugada");

     }
     else if (hora>=600 && hora<=1159){
         System.out.println("Mañana");
     }
     else if (hora==1200){
         System.out.println("Medio Dia");
     }
     else if (hora>=1201 && hora<=1759){
         System.out.println("Tarde");
     }
     else if (hora>=1800 && hora<=2359){
         System.out.println("Noche");
     }
     else if (hora==2400){
         System.out.println("Media Noche");
     }
     else {
         System.out.println("Error");
     }
 }

1 个答案:

答案 0 :(得分:2)

 if((hora % 100) >= 60) {
     System.out.println("Error");
 }

基本上,如果2个最低有效数字等于或大于60,则表示错误。 %是模数运算符;它将返回整数除法的余数,例如11 % 3212 % 3为0,因为3除以12。执行hora % 100会将余下的hora除以100,从而为您提供分钟。