Ir ao conteúdo

array salva um por cima do outro


allenwalken

Posts recomendados

Postado

galera estou com um problema sou novo em programaçao ja tentei varias coisas mais ainda persiste o problema tenho que fazer um cadastro de n nomes ate ai beleza o programa e tal ja foi feito e roda beleza mais o problema e que cada vez que faço um cadastro sobrescreve o antigo e toda vez que tenho que imprimir a lista de cadastro so aparece o ultimo no cadastrado nao sei como corrigir esse erro espero que algum de vocês possa me ajudar. obrigado!

aqui a parte que nao esta salvando todos os nomes


case 1:
for (int i = 0;i < 100; i++) {
System.out.println("Digite seu nome:");
nome = leitor1.nextLine();
System.out.println("Deseja salvar nome: " +nome );
System.out.println("Digite 1 para sim, 2 para não!");
op=leitor.nextInt();
while(op==1){
cadastro[i] = nome;
nome =null ;
break;
}while(op==2){
System.out.println("digite novo nome:");
nome= leitor1.nextLine();
cadastro[i]=nome;
nome=null ;
break; }
break;}
opcao = 0;
break;

Postado

creio que o problema seja o break. voce colocou um para o for... tua variavel i nunca passa a valer 1 porque voce quebra o laço. quando entra novamente no for (case 1), a variavel esta sendo inicializada com valor zero.

Postado

eeu ja tentei tirar o break do for mais ele entra num loop ate que todas as linhas do vetor estejam completas isso que ta me deixando de cabeça quente me falaram pra inserir um outro contador vou tentar se der certo senao volto pra pedir mais conselhos mais desde ja obrigado ai

dei uma alterada no codigo mais ainda assim nao consegui achar o erro de um String sobrescrever o outro nao faço menor ideia de onde e como fazer por isso mais uma ve venho aqui pedir essa ajuda


case 1:
for (int i = 0;i < cadastro.length;i++ ) {
System.out.println("Digite seu nome:");
nome = leitor1.nextLine();
System.out.println("Deseja salvar nome: " +nome );
System.out.println("Digite 1 para sim, 2 para não!");
op=leitor.nextInt();
while(op==1){
cadastro[i] = nome;
}while(op==2){
System.out.println("digite novo nome:");
nome= leitor1.nextLine();
cadastro[i]=nome;
}
break;}
opcao = 0;
break;

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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!