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