Bonjour Je reçois actuellement l'erreur commune de "Domino.java:32: erreur: méthode non statique getValue() ne peut pas être référencée à partir d'un contexte statique" Je comprends que c'est un problème car c'est seulement une instance de la méthode getValue. Dans cette méthode compareTo, j'essaie de passer dans un certain domino et de le comparer à l'ensemble domino et de retourner un -1,0,1 en fonction de certaines comparaisons. J'ai besoin de la somme des deux côtés du domino pour les comparer, c'est pourquoi j'essayais d'obtenir domino.getValue(), à ce stade je ne suis pas sûr de savoir comment implémenter ceci. Toute suggestion ou aide serait très appréciéMéthode non statique ne peut pas être référencée à partir d'un contexte statique
public class Domino {
public static int side1;
public static int side2;
public Domino(int aside, int bside){
side1 = aside;
side2 = bside ;
}
public Domino() {
side1 = 4;
side2 = 5;
}
public boolean isDouble(){
if(side1 == side2) {
return true;
}
else {
return false;
}
}
public int getValue(){
return side1 + side2;
}
public int compareTo(Domino someDomino)
{
int count = 0;
if(Domino.getValue() < someDomino.getValue()){
count = -1;
}if(Domino.getValue() > someDomino.getValue()){
count = 1;
}
if(Domino.getValue() == someDomino.getValue()){
count = -0;
}
return count;
}
public static void main(String args[]) {
}
}
En dehors de la question que vous posez A propos de la méthode compareTo (...), cela échouera car vous stockez les valeurs de chaque côté comme des variables statiques au lieu des variables d'instance. Lorsque vous créez le deuxième Domino, il écrase les valeurs que le premier a stockées - elles auront toutes la même valeur. – JonathanS