有人会因为出现错误而给我任何建议以正确编写以下语句吗? 代码是:
public class Person{
private boolean old;
public Person() throws Exception{
old = true;
}
public boolean isOld() {
return old;
}
private void setOld(boolean old) {
this.old= old;
}
public boolean turnOld(boolean old) {
if (isOld(old)= true) {
setOld(old)=false;
}
else {
setOld(old)= true;
}
this.old= old;
return old;
}
}
该错误出现在方法turnOld中,更确切地说出现在setOld和isOld中,并显示“分配的左侧必须是变量” 有人可以帮我吗?
答案 0 :(得分:0)
编译错误消息不言自明:
“作业的左侧必须是变量”
这里:
setOld(old)=false;
setOld(...)
返回void。您不能为其分配任何值。
您将值分配给变量。
除此之外:
isOld(old)= true
也无法编译,因为isOld()
不带任何参数,也没有意义,因为您要为{{1}犯同样的错误而想将true
分配给old
}:您将值分配给非变量。
您想要的似乎是布尔setOld()
字段的切换方法,因此您可以编写:
old
或更简单地说:
public boolean toggleOld() {
if (isOld() {
setOld(false);
}
else {
setOld(true);
}
return old;
}