java - 军事小时时钟分钟

标签 java

我必须做一个问题:

  • 00:01 至 5:59 am(值为 1-559)
  • 上午 6:00 至 11:59(值为 600-1159)
  • 中午 12:00(值为 1200)
  • 下午 12:01 至 17:59(值为 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");
     }
 }

最佳答案

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

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

关于java - 军事小时时钟分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30905408/

相关文章:

java - IsPrime 方法有死代码并且不返回 int

java - 如何使用 hashmap 数据类型在满足 ab = cd 且时间复杂度为 O(n²) 的数组中找到所有对 (a,b) 和 (c,d)

java - 使用 Java 蓝图服务定义

java - Hadoop 的慢任务阈值是否有助于解决竞争条件?

java - hql 查询获取以父表 id 作为键、以子对象列表作为值的映射

java - 异步数据库库是如何实现的?

java - 在Java中: Get array of values of a map sorted by the map's keys

java - 内存问题分析

java - 如何将登录用户的 session 数据传输到另一个 Java 应用程序

java - Android Studio sqlite 转 ListView