es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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

Tags:  , , ,

Answer

  1. Avatar for 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:

    public void setNumHealthPotions(int numHealthPotions){
        this.numHealthPotions = numHealthPotions;
    }
    

    Una vez realizadas estas correcciones, el código debería depurarse correctamente.

Comments are closed.