1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Java help

Discussão em 'Programação' iniciada por carekinha99, 28 de Junho de 2018. (Respostas: 2; Visualizações: 210)

  1. carekinha99

    carekinha99 Power Member

    Estou a ter um erro nesta função "listarSalas", no "aux.consultarLugar" dá me um erro cannot find symbol, ou seja não encontra o método consultarLugar, mas o mesmo está descrito na "Classe Sala".
    Alguém me pode ajudar?

    Main:

    Código:
    static void listarSalas()
    {
        int contador = 0;
        int i = 0;
           while (contador < totalSalas)
           {
          Sala aux = salas[contador];
          for(i = 0; i < 30; i++)
          {
              if(aux.consultarLugar[i] == false)
              {
                  System.out.print("Lugar Nº: " + i + " - Ocupado");
              }
              else
              {
                  System.out.print("Lugar Nº: " + i + " - Livre");
              }
          }
          contador++;
        }
    }
    Classe Sala:

    Código:
    import java.util.Arrays;
    
    class Sala
    {public int idSala;
    public Boolean[] lugarSala = new Boolean[30];
    
    // Construtor
    public Sala(int codSala)
    {
         idSala = codSala;
         Boolean[] lugares = new Boolean[30];
         Arrays.fill(lugares, Boolean.FALSE);
         lugarSala = lugares;
    }
    
    // Consultar código da sala
    public int consultarCodigoSala()
    {
         return(idSala);
    }
    
    // Consultar lugares da sala
    public Boolean[] consultarLugar()
    {
         return(lugarSala);
    }
    }
     
  2. daveseco7

    daveseco7 Power Member

    Código:
    if(aux.consultarLugar[i] == false)
    consultarLugar é um método, logo deverias fazer:
    Código:
    if(aux.consultarLugar()[i] == false)

    Uns pequenos reparos:

    É boa pratica referir as variaveis do objecto com a keyword "this"
    Código:
    // Construtor
    public Sala(int codSala)
    {
         this.idSala = codSala;
         Boolean[] lugares = new Boolean[30];
         Arrays.fill(lugares, Boolean.FALSE);
         this.lugarSala = lugares;
    }
    Se quiseres tornar o teu codigo mais legivel, talvez criar um método adicional que permite consultar um dado lugar não seria mal pensado
    Código:
    public Boolean consultarLugar(int i)
    {
         return lugarSala[i];
    }
     
  3. carekinha99

    carekinha99 Power Member

    Obrigado por ajudares a resolver o problema e pelas dicas.
     

Partilhar esta Página