mercredi 3 mars 2021

Can't use .equals the second time in my if else statement

Im trying to make a comparison operator that checks if the content of 2 objects are the same, in this instance the Object is called Game and has atributes releaseJaar and naam.

The first call of the method .equals() works just fine but when i try to call it a second time it says it cant resolve the method?

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;
    }
}

I dont know what i'm doing wrong here :( Ps: might be multiple things since i just started on the subject of 1 to many relations.

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 +
            '}';
}

}

Aucun commentaire:

Enregistrer un commentaire