Ir ao conteúdo
  • Cadastre-se

Java Vetor sobrescrevendo dados digitados pelo usuário


Posts recomendados

bom dia pessoal.

preciso criar um código para cadastrar um piloto, pedindo para o usuário informar o nome e o CPF dele. estou utilizando um vetor e estou tendo problemas. fiz um laço de repetição par ao vetor armazenar os dados no index "i" do laço de repetição. porém não quero que o programa fique repetindo 20 vezes (limite do vetor e, consequentemente, do laço de repetição) pedindo para o usuário digitar o nome e o CPF. para cadastrar um novo piloto, o usuário tem que digitar o número 1 em menu que criei. e o problema está aí, se eu colocar o scanner fora do laço de repetição, ele não repete 20 vezes, porém os dados ficam sobrescrevendo, e quando coloco dentro do laço de repetição ele fica repetindo 20 vezes para o usuário digitar o nome e o CPF.

não sei se preciso criar um construtor, se o único jeito é esse, etc.

 

 

< for (int i = 0; i < MAX_ELEMENTOS; i++) {

                        qtdCadastrados++;

                        System.out.println("Informe o Nome: ");

                        nome = in.nextLine();

                        System.out.println("Informe o CPF: ");

                        cpf = in.nextLine();

 

                        String dados = "Nome: " + nome + "\n" + "CPF: " + cpf;

                        pilotos[i] = dados;

} >

 

esse é o código repetindo 20 vezes pedindo para informar o nome e CPF, queria saber se tem outra maneira de fazer sem repetir.

 

 

código.txt

Link para o comentário
Compartilhar em outros sites

Sobre o cadastro:

  • Os dados precisam vir de algum lugar. Pelo jeito que você escreveu, o usuário precisa entrar com as informações. Esse processo se repetirá toda vez que iniciar o programa, pois os dados ficam armazenados apenas na memória.
  • Se você não quer ter que digitar todos os dados toda vez que iniciar o programa, então você tem algumas opções. Você pode preencher o vetor diretamente no código, pode ler os dados de um arquivo, ou com uma pegada mais avançada pode ler de um banco de dados.

Sobre o vetor:

  • Pela forma como está tratando os dados, acho que você declarou o vetor com o tipo String. Está correto? Se sim, acho que você está fazendo errado, o exercício pede o cadastro de Piloto, não de String. Parece ser um exercício de orientação a objetos, nesse caso você deveria criar uma classe Piloto com os atributos nome e cpf, depois criar um vetor do tipo Piloto e aí sim preencher com os dados.
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!