Ir ao conteúdo

Posts recomendados

Postado

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());

}
}
}

 

Postado

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

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!