Fórum Gente por favor me ajude, construtores #417915

01/06/2012

0

gente tenho essas 2 classes com, os construtores das mesmas passando paramentros
da uma olhada ai por favor
     public class AluguelQuarto {

          public AluguelQuarto() {
          }

          public AluguelQuarto(String nomeLocatario, int diaEntrada, int mesEntrada, int anoEntrada, int horaEntrada, int minutoEntrada) {
               this.nomeLocatario = nomeLocatario;
               this.diaEntrada = diaEntrada;
               this.mesEntrada = mesEntrada;
               this.anoEntrada = anoEntrada;
               this.horaEntrada = horaEntrada;
               this.minutoEntrada = minutoEntrada;

          }
     }
     

e

     public class AluguelChale extends AluguelQuarto {

          
            public AluguelChale() {
            }
          
          public AluguelChale(int numeroCamasExtras, String nomeLocatario, int diaEntrada, int mesEntrada, int anoEntrada, int horaEntrada, int minutoEntrada) {
               super(nomeLocatario, diaEntrada, mesEntrada, anoEntrada, horaEntrada, minutoEntrada);
               this.numeroCamasExtras = numeroCamasExtras;
          }
     }
     


agora essa é minha classe para teste

             
public class TestaCodigo{

     public static void main(String[]agrs){

     System.out.println(DIGITE O NUMERO DA OPÇÃO ESCOLHIDA: 
                                 +1 PARA ADD QUARTO
                                 +2 PARA ADD CHALE);

          opcaoMenu = scan.nextInt();

          switch (opcaoMenu) {

               case 1:

     AluguelQuarto quarto = null;

     quarto.registrarEntrada(); método para adicionar instancia de quarto

     quarto  = new AluguelQuarto(quarto.getNomeLocatario(), quarto.getDiaEntrada(), quarto.getMesEntrada(), quarto.getAnoEntrada(),
             quarto.getHoraEntrada(), quarto.getMinutoEntrada());
     
          pousada.addLista(quarto);

           break;
           
           case 2:

     AluguelChale chale = null;

     chale.registrarEntrada();// é claro que esse método esta sobre escrito,  ok

     chale  = new AluguelChale(chale.getNumeroCamasExtras(), chale.getNomeLocatario(), chale.getDiaEntrada(), chale.getMesEntrada(),
             chale.getAnoEntrada(), chale.getHoraEntrada(), chale.getMinutoEntrada());
     
    pousada.addLista(chale);// método para adicionar instancia de chale

       break;

      }
}
     


pois preciso criar um ArrayList<AluguelQuarto> contendo da posiçao 0 a 49 instancias de quartos e 50 a 60 instancia de chale

E esse metodo registrarEntrada() eu estou chamando ele no main(), para quando eu digitar os dados, os meus gets do contrutor pegar os valores

public void registrarEntrada() {

          System.out.println(\nDIGITE O NOME DO LOCATÁARIO);
          this.nomeLocatario = scan.nextLine();

          System.out.println(\nDIGITE A DIA ENTRADA);
          this.diaEntrada = scan.nextInt();

          System.out.println(\nDIGITE O MÊS DE ENTRADA);
          this.mesEntrada = scan.nextInt();

          System.out.println(\nDIGITE O ANO ENTRADA);
          this.anoEntrada = scan.nextInt();

          System.out.println(\nDIGITE A HORA DA ENTRADA);
          this.horaEntrada = scan.nextInt();

          System.out.println(\nDIGITE O MINUTO DA ENTRADA);
          this.minutoEntrada = scan.nextInt();

     }


E certo fazer isso? Ou eu não entendo nada de programação O.O, e estou ate hoje programando de forma Estruturada.

Desde ja obrigado pelas dicas, e se poder fazer um código semelhante, para tirar minhas duvidas de como ficaria os construtores na classe main().
Paulo Cesar

Paulo Cesar

Responder

Posts

03/06/2012

Robson Teixeira

Olá Paulo tudo bem???

kra você tem feito direitinho as alocações de Quarto e Chalé mas da uma olhada nesse trecho de
código abaixo tirado do seu post

AluguelQuarto quarto = null;
// o objeto quarto está null e quando tentar invocar o método registrarEntrada vai dar um NullPointerException.
quarto.registrarEntrada(); método para adicionar instancia de quarto

quarto = new AluguelQuarto(quarto.getNomeLocatario(), quarto.getDiaEntrada(), quarto.getMesEntrada(), quarto.getAnoEntrada(),
quarto.getHoraEntrada(), quarto.getMinutoEntrada());

agora você poderia fazer o código de aluguel de quarto de acordo com o código abaixo e o mesmo vale de exemplo para aluguel de chalé

AluguelQuarto quarto = new AluguelQuarto();

quarto.registrarEntrada(); método que popula o objeto quarto

pousada.addLista(quarto);

quanto a sua coleção que tem que ter um número limitado de instancias para alugar quarto e chalé sugiro que
você crie uma classe e a extenda de ArrayList e sobreescreva o método add onde você irá testar se a instancia
passada é um AluguelQuarto ou AluguelChale e some mais 1 em um contador de quartos que vai estar declarado em sua classe
ou some mais 1 em seu contador de chale e chame o super.add para que seja de fato adicionado o objeto em sua coleção.

att
robson
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar