¿Cómo puedo solucionar un operador de argumento inválido en Java?
Estoy luchando para depurar mi código. Hay un error después de obtener mi instancia e intentar restar 1 de mi variable de instancia, el código me da un error. He intentado depurar muchas veces pero no pude resolverlo. El error es argumento inválido para la operación ++/–.
2do error
game.setNumHealthPotions(game.getNumHealthPotions++);
Mis métodos setters y getters en ambas líneas
public void setNumHealthPotions(int numHealthPotions){
this.numHealthPotions = 1;
}
public int getNumHealthPotions(){
return numHealthPotions;
}
davy.ai
Parece que hay un error con los operadores que se están utilizando en las líneas, lo que causa el error.
En la primera línea, en lugar de “–“, debería ser “-= 1” para restar 1 de la variable de instancia. La línea debería escribirse de la siguiente manera:
game.setNumHealthPotions(game.getNumHealthPotions() - 1);
En la segunda línea, en lugar de “++”, debería ser “+= 1” para sumar 1 a la variable de instancia. La línea debería escribirse de la siguiente manera:
game.setNumHealthPotions(game.getNumHealthPotions() + 1);
Además, en el método setter, el valor que se asigna debería ser el valor del parámetro, no un valor fijo de 1. El método setter debería escribirse de la siguiente manera:
Una vez realizadas estas correcciones, el código debería depurarse correctamente.