Ir ao conteúdo
  • Cadastre-se

Java Mostrar dados de um ArrayList


Posts recomendados

Ola, tenho as seguintes classes abaixo, minha intenção inicial é criar aeronaves em um ArrayList, até ai tudo bem (aparentemente), porém na hora de mostrar está aparecendo de forma incorreta:  

 

Cadastrei 3 aviões    Aviao 1:   Nome: A  ,  10 lugares

                                 Aviao 1:   Nome: B  ,  20 lugares

                                 Aviao 1:   Nome: C  ,  30 lugares

 

Porém na hora de aparecer na tela aparece da seguinte forma

 

Aviao 1:   Nome: Null  ,  0 lugares

Aviao 2:   Nome: A  ,  10 lugares

 Aviao 3:   Nome: B  ,  20 lugares

 

 

Segue os códigos se alguem puder me ajudar a entender isso.

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package passagens;

import java.util.Scanner;

/**
 *
 * @author APrezzi
 */
public class Passagens {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
      int op;
      Scanner ler = new Scanner(System.in);
      Companhia Cad_Avioes = new Companhia();
      System.out.println("Digite 1 para cadastrar");
      op=ler.nextInt();
      if(op==1){
          for (int i=0; i<3; i++){
              Cad_Avioes.Cadastrar_Avioes();
          }
          Cad_Avioes.mostraAvioes();
    }
    }
}
package passagens;

/**
 *
 * @author APrezzi
 */
public class Aviao {
    public int cod;
    public String nome;
    public int lugares;

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public int getLugares() {
        return lugares;
    }

    public void setLugares(int lugares) {
        this.lugares = lugares;
    }

    public int getCod() {
        return cod;
    }

    public void setCod(int cod) {
        this.cod = cod;
    }
    
}
package passagens;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;


/**
 *
 * @author APrezzi
 */
public class Companhia {
    ArrayList<Aviao> avioes = new ArrayList();
    
    //variaveis
    public int cod = 0;
    public String nome;
    public int lugares;
    
    public void Cadastrar_Avioes(){
      Scanner ler = new Scanner(System.in);
      
      Aviao Cad_Avioes = new Aviao();
      cod++;
      
      Cad_Avioes.setCod(cod);
      
      Cad_Avioes.setNome(nome);
      System.out.println("Digite o nome do aviao");
      nome = ler.next();
  
      
      Cad_Avioes.setLugares(lugares);
      System.out.println("Digite a quantidade de lugares do aviao");
      lugares = ler.nextInt(); 
  
      avioes.add(Cad_Avioes);
          
     
    }
    
    public void mostraAvioes(){
    Iterator it = avioes.iterator();
        while(it.hasNext()){
            for(int i=0;i<avioes.size();i++){
                System.out.println("\nCodigo do Aviao: " + avioes.get(i).getCod());
                System.out.println("\nNome: " + avioes.get(i).getNome());
                System.out.println("\nLugares: " + avioes.get(i).getLugares());

            }
        }
        
    }
   
}

Aguardo retornos, acredito que seja coisa simples para alguns.

 

Obrigado

Link para o comentário
Compartilhar em outros sites

oi apenas olhei..

 

primeiro você deve declarar seus atributos como private nas classes repara que voce possui 2 variaves como o mesmo nome usando como public o que não faz muito sentido... 

outra coisa quando você faz

 

ArrayList<Aviao> avioes = new ArrayList();

o objeto avioes que foi criado ele ja herda todos os atributos da classe avião

 

 

na hora de imprimir você pode utilizar o método toString  ja que se trata de objetos

 

valeu

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...