我必须做一个问题:
- 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 % 3
是 2
,12 % 3
是 0 作为 3
除12
。执行 hora % 100
会返回 hora
除以 100
的余数,从而得出您的情况的分钟数。
关于java - 军事小时时钟分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30905408/