Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Alexandre Prezzi

Java Mostrar dados de um ArrayList

Recommended Posts

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

Editado por DiF

Compartilhar este post


Link para o post
Compartilhar em outros sites
Math.Pi    8.415

Também estou enferrujado.

Por algum motivo o armazenamento na posição 0 não está sendo feito.

 

Dê um println nessas condições:

 for(int i=0;i<=avioes.size();i++)

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Alexandre Prezzi    0
  • Autor do tópico
  • Pois é... tentei fazer dessa forma, na verdade ja tentei um monte de coisas e nenhuma deu certo.

    Compartilhar este post


    Link para o post
    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

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×