问题描述
我正在尝试创建一个比较运算符来检查 2 个对象的内容是否相同,在这种情况下,对象称为 Game 并且具有属性 releaseJaar 和 naam。
方法 .equals() 的第一次调用工作正常,但是当我尝试第二次调用它时,它说它无法解析该方法?
public boolean equals(Object andereObject){
if (andereObject instanceof Game) {
if (((Game) andereObject).getNaam().equals(naam) && ((Game) andereObject).getReleaseJaar().equals(releaseJaar)){
return true;
}
}
else {
return false;
}
}
我不知道我在这里做错了什么:( Ps:可能是多方面的,因为我刚开始讨论 1 对多关系的主题。
public class Game {
private String naam;
private int releaseJaar;
private double nieuwprijs;
private int ditJaar = LocalDate.Now().getYear();
public Game(String nm,int rJ,double nwpr){
this.naam = nm;
this.releaseJaar = rJ;
this.nieuwprijs = nwpr;
}
public String getNaam(){
return naam;
}
public double getReleaseJaar(){
return releaseJaar;
}
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
public double huidigeWaarde(){
int jaarVerschil = ditJaar - releaseJaar;
double nieuweWaarde = nieuwprijs;
for (int i = 0; i < jaarVerschil; i++){
nieuweWaarde = nieuweWaarde * 0.7;
}
return nieuweWaarde;
}
//De werkende functie moet nog gemaakt worden
public boolean equals(Object andereObject){
if (andereObject instanceof Game) {
if (((Game) andereObject).getNaam().equals(naam) && ((Game) andereObject).getReleaseJaar().equals()){
return true;
}
}
else {
return false;
}
}
@Override
public String toString() {
return "Game{" +
"naam='" + naam + '\'' +
",releaseJaar=" + releaseJaar +
",nieuwprijs=" + nieuwprijs +
'}';
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)