Identifier expected al llamar un método

publicado por: Anonymous

Buena noches, describo rápidamente mi programa antes de explicar el problema, cuenta con 4 clases:
Character
Army : Almacena un número de Character en una matriz.
Bot : Usa una Army anterior de la que se escoge un Character y lo hace combatir contra otro Character aleatorio (que no pertenece a la anterior Army)
Main : Elige la opción que se quiere tomar

Una vez están prácticamente todos los métodos hechos, después de crear el Army que he mencionado anteriormente en la clase Bot, cuando intento aplicar un método que se encarga de llenarla de Character me aparece el error < identifier > expected
Tan solo he escrito esto:

private Army userArmy = new Army ();  
userArmy.setCharacters();      //<----- Me marca el error aquí

¿A qué se debe este error? Que yo sepa no me he dejado ningún paréntesis ni ; o . que pueda afectar en la llamada. Por si de caso os dejo el método al que llamo a continuación:

    public void setCharacters(){
    for (int i = 0; i < 3; i++){
        for (int j = 0; j < 4; j++){
            characters[i][j] = new Character((int) Math.floor(Math.random()*(3)));
        }
    }
    characters[3][0] = new Character((int) Math.floor(Math.random()*(3)));

       /* Up to this it has created the first 13 random characters.
       / Later, we add the dragons:
       */

    int numDragons = (int) Math.floor(Math.random()*(3));
    for (int i = 1; i < 1 + numDragons; i++){
        characters[3][i] = new Character();
    }
}

Gracias de antemano.

solución

No puedes hacer uso de una variable global directamente en el cuerpo de una clase, debes hacerlo dentro del contructor, dentro de un método o bloque de inicialización para este ultimo seria así:

private Army userArmy = new Army ();  
{
userArmy.setCharacters(); 
}
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *