我这里有这个代码:
但我得到了错误信息:
接线员
为什么呢?如何修复代码?
以下是代码的文本形式:
import java.time.LocalTime;
public class Services {
public static void main(String[] args){
LocalTime t = LocalTime.now();
if (t >=0 && t<12){
System.out.println("Good Morning!");
}
else if (t>=12 && t<18)
{
System.out.println("Good Afternoon!");
}
else{
System.out.println("Hello Neel ,how may I help you");
}
}
}
public static void main(String[] args) {
LocalTime t = LocalTime.now();
int h = t.getHour();
if (h >= 0 && h < 12) {
System.out.println("Good Morning!");
} else if (h >= 12 && h < 20) {
System.out.println("Good Afternoon!");
} else {
System.out.println("Hello Neel ,how may I help you");
}
}
}这对我有用
将您的代码翻译成有效的东西的简单方法是
LocalTime t = LocalTime.now();
int h = t.getHour();
然后比较“h”。
对于更复杂的情况,例如,如果你想检查它是否在12:30之前,请查看以下结构
t.isBefore(LocalTime.of(12, 30))
或者可能
!LocalTime.of(12, 30).isAfter(t);
(两者在确切时间12:30的决定上有所不同)
你不能使用
首先是
。与(秒)
相比,结果是
负数(如果较小),
0
(如果等于)或 - 正大于0(如果大于)。
因此,相当于to
的
对于java。时间API中,还有一些特殊的方法,如
isBefore
和isAfter
,它们使得这种比较更加简单。
此外,您不能将诸如
LocalTime
之类的高级对象与普通int
进行比较。看看
java prettyprint-override">LocalTime.of(12, 0)
和类似的方法。
还有一些特殊的预先创建的常量,例如
LocalTime。午夜和本地时间。中午
。
如果您遵循这两个建议,固定代码可能看起来像:
LocalTime t = LocalTime.now();
if (t.isAfter(LocalTime.MIDNIGHT) && t.isBefore(LocalTime.NOON)) {
System.out.println("Good Morning!");
} else if (t.isAfter(LocalTime.NOON) && t.isBefore(LocalTime.of(18, 0))) {
System.out.println("Good Afternoon!");
} else {
System.out.println("Hello Neel, how may I help you");
}
理想情况下,您还可以引入快速帮助方法,例如
private static boolean isBetween(LocalTime start, LocalTime time, LocalTime end) {
return time.isAfter(start) && time.isBefore(end);
}
要进一步简化代码,请执行以下操作:
LocalTime t = LocalTime.now();
if (isBetween(LocalTime.MIDNIGHT, t, LocalTime.NOON)) {
System.out.println("Good Morning!");
} else if (isBetween(LocalTime.NOON, t, LocalTime.of(18, 0))) {
System.out.println("Good Afternoon!");
} else {
System.out.println("Hello Neel, how may I help you");
}
我是新来的处理,我有这个问题。我一直收到下面代码中粗体部分的错误消息。我的语法错了吗?
我的Java代码没有什么问题。我正在使用下面的代码,但Eclipse总是提示相同的消息“参数类型Test1,int的运算符未定义”。但是如果我将代码更改为“System.out.println(test1”“100);”或“System.out.println”(“100 test1”)或“System.out.println(100”“test1);”,没有问题。 有人对此有想法吗?请帮忙。多谢
在我的代码中,我一直得到这样的错误:操作符!=对于参数类型boolean和int是未定义的,我不知道该怎么做来修复它。该错误出现在eclipse内部以及启动时 如有帮助,我们将不胜感激:)谢谢!
int是byte、short、int、long的默认文字,然后是为什么byte c=15被接受而不进行强制转换,但不接受方法参数。 提前谢谢你。
下面的方法中不断出现错误“The operator-is undefined for The argument type double[],double”,我不知道为什么或如何修复它。 特别是在以下行:“如果((targetX-x)
我试图访问使用一维数组映射定义的二维矩阵的值,并希望将该特定索引值存储在一个变量中。 该矩阵包含整数值,利用二维矩阵到一维数组映射的概念,得到“二元运算符操作数类型错误+第一类INT[]和第二类INT”的错误。 我试图访问矩阵fill中的诊断值,即fill[i-1][j-1],并希望将其存储在变量D seq_2中。length是矩阵中列的大小。 代码是