我得到的是#34;而不是声明"我的代码中的错误,我不明白为什么 这是代码
for (int i = 0; i < Champ.length; i++) {
for (int j = 0; j < Champ[i].length; j++) {
if (Champ[i][j].getLegume() != null) {
Champ[i][j].getNbJoursMatLegume() - jour; //HERE IS THE ERROR ....
System.out.print(Champ[i][j].getNbJoursMatLegume() + " ");
}
}
System.out.println("");
}
我的所有变量都已初始化并正常工作,但我不知道为什么我无法进行此操作
答案 0 :(得分:2)
按照以前的写作
您在此处进行计算,但未将其存储在任何位置:
Champ[i][j].getNbJoursMatLegume() - jour;
因此您可以将其存储在本地变量
中int result = Champ[i][j].getNbJoursMatLegume() - jour;
也许可以打印
System.out.println ("This is the value: " + result);
或根据您的代码,您可以设置值
Champ[i][j].setNbJoursMatLegume(Champ[i][j].getNbJoursMatLegume() - jour);
答案 1 :(得分:1)
您在此处进行计算,但未将其存储在任何位置:
Champ[i][j].getNbJoursMatLegume() - jour;
只需将其存储为:
int result = Champ[i][j].getNbJoursMatLegume() - jour;
答案 2 :(得分:1)
我的代码中出现“not a statement”错误,我不知道 为什么这里是代码
这段代码返回一个值而你没有将它赋值给变量,因此它不是一个语句而是一个表达式。
Champ[i][j].getNbJoursMatLegume() - jour; //HERE IS THE ERROR ....
而是获取返回的值并将其分配给变量:
int myResult = Champ[i][j].getNbJoursMatLegume() - jour;
修改强>
是否可以通过更改getNbJoursMatLegume()变量 将整数jour减去它。但结果存储 在getNbJoursMatLegume()
中
Champ[i][j].setNbJoursMatLegume(Champ[i][j].getNbJoursMatLegume() - jour);
答案 3 :(得分:1)
你不能这样做,因为正如消息告诉你的那样,Champ[i][j].getNbJoursMatLegume() - jour;
不是一个陈述,它是一个表达。第14章http://docs.oracle.com/javase/specs/jls/se8/html/jls-14.html中的JLS强制要求,“程序的执行顺序由语句控制,这些语句是为了它们的效果而执行的,没有值。”要成为一个语句,该行必须对表达式的值执行某些操作,例如将其分配给变量或将其传递给方法。
此外,请遵循Java命名约定。