Ir ao conteúdo
  • Cadastre-se

Java Erro usando ArrayList - Collection


Posts recomendados

Olá, estou no começo de implementar o ArrayList em um código que já tenho pronto, mas estou com alguns impasses. Quando executo ele recebo este erro:

 

ShowTime.java:52: error: cannot find symbol
System.out.println("A sua idade e: " +bdCad.get(i).getIdadeUsu());
                                                                               ^
symbol: method getIdadeUsu()
location: class ImplementsBanda
1 error

 

E quando executo, com a linha do erro comentada, ele compila normal, porém ele não me da o nome que eu cadastro, ele apenas diz: “Seu nome e:” e não me diz o nome.

 

CÓDIGO:

import java.util.List;
import java.util.ArrayList;

public class ShowTime extends Banda {

private static ImplementsBanda cad;
private static List bdCad = new ArrayList();

public static void main(String arg[]){

Banda b1 = new ImplementsBanda();
Entrada entrada = new Entrada();
Integrante integran = new Integrante();

boolean vai = true;
int op = 0;

while(vai){

cad = new ImplementsBanda();

//==================== CADASTRO SIMPLES =================
System.out.println("\n\nCADASTRO SIMPLES");
Usuario usuario = new Usuario();
usuario.setNome(entrada.entDados("\nDiga o seu nome: "));
usuario.setIdadeUsu(Integer.parseInt(entrada.entDados("Diga a sua idade: ")));

bdCad.add(cad);

System.out.println("\nTAMANHO DO ARRAY: "+bdCad.size());

String resp = entrada.entDados("\n DESEJA REALIZAR MAIS UM CADASTRO? <s/n>");
if(resp.equalsIgnoreCase(“n”)){
vai = false;
}

}

for(int i = 0; i < bdCad.size(); i++){
//======================== CADASTRO INICIAL ========================
System.out.println("\n\n>>>>>> CADASTRO DE USUARIO <<<<<<");
System.out.println("Seu nome e: " +bdCad.get(i).getNome());
System.out.println("A sua idade e: " +bdCad.get(i).getIdadeUsu());

}
}
}

 

Link para o comentário
Compartilhar em outros sites

Você não especificou o tipo da lista. Nesse caso o Java usa Object. E Object não tem o método getNome.

 

Um exemplo de lista:

List<Integer> numeros = new ArrayList<>();
numeros.add(1);
numeros.add(2);
numeros.add(3);
numeros.add(4);
numeros.add(5);

System.out.println(numeros);

 

 

E pelo que eu vi por cima, seu código está mal estruturado. Veja bem, uma banda é composta por vários integrantes, logo essa banda tem uma lista de integrantes.

 

Essa lista que você criou, deveria estar dentro da classe banda. E não na classe principal.

Um exemplo poderia ser assim:

 

Integrante.java

Spoiler

package cdh;

public class Integrante {

    private String nome;
    private int idade;

    public Integrante() {
    }

    public Integrante(String nome, int idade) {
        this.nome  = nome;
        this.idade = idade;
    }

    public String getNome() {
        return nome;
    }

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

    public int getIdade() {
        return idade;
    }

    public void setIdade(int idade) {
        this.idade = idade;
    }

    @Override
    public String toString() {
        return "Integrante{" +
               "nome='" + nome + '\'' +
               ", idade=" + idade +
               '}';
    }
}

 

 

Banda.java

Spoiler

package cdh;

import java.util.ArrayList;
import java.util.List;

public class Banda {

    private List<Integrante> integrantes = new ArrayList<>();

    public Banda() {
    }

    public void adicionarIntegrante(Integrante integrante) {
        integrantes.add(integrante);
    }

    public void listarIntegrantes() {
        integrantes.forEach(System.out::println);
    }
}

 

 

Principal.java

Spoiler

package cdh;

public class Principal {

    public static void main(String[] args) {
        Banda banda = new Banda();
        banda.adicionarIntegrante(new Integrante("João", 21));
        banda.adicionarIntegrante(new Integrante("Maria", 20));
        banda.adicionarIntegrante(new Integrante("Laurinha", 18));
        banda.adicionarIntegrante(new Integrante("Renato", 34));

        banda.listarIntegrantes();
    }
}

 

 

  • Curtir 2
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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!