Gente, é a primeira vez que eu posto uma dúvida aqui e creio que sairei com a solução.
É uma dúvida que acho que vai ser fácil, porém não encontro de jeito nenhum.
To fazendo um código com array, e preciso listar esse array. Fiz pelo switch case.
Criei um método para listar e quando chamo no case 2, ele não me mostrar nenhum erro, mas não lista na saída.
case 1 é para cadastrar os itens e o case 2 listaria. Vou colocar o código.
Desculpa se a dúvida for muito simples, mas realmente não estou encontrando!!
Para ler do console deves usar apenas o nextLine. Os outros métodos poderão dar-te estes problemas aparentemente inexplicáveis de in/out…
J
joao0212
pmlm:
joao0212:
intnumber=newScanner(System.in).nextInt();
</blockquote>
Para ler do console deves usar apenas o nextLine. Os outros métodos poderão dar-te estes problemas aparentemente inexplicáveis de in/out…
Mas creio que o problema não seja isso, pois ele está cadastrando normalmente, a unica coisa que acontece, é que ele não tá pegando os valores e me voltando na tela, quando aperto a opção 2 do menu!
pgioseffi
Põe o código do método menu() aí.
Tenta colocar entre as tags [code] para ficar mais legível teu código. Do jeito que tá complica.
J
joao0212
importjava.util.Scanner;publicclassCadastro{publicstaticvoidmain(String[]args){Alunoa[]=newAluno[10];intcont=0;while(true){intop=menu();switch(op){case1:if(cont<10){a[cont]=newAluno();System.out.println("Número:");intnumber=newScanner(System.in).nextInt();a[cont].setNum(number);System.out.println("Ano:");intyear=newScanner(System.in).nextInt();a[cont].setAno(year);System.out.println("Nome:");Stringname=newScanner(System.in).next();a[cont].setNome(name);System.out.println("Data");Stringdate=newScanner(System.in).next();a[cont].setDt_nas(date);System.out.println("Telefone");longtelephone=newScanner(System.in).nextLong();a[cont].setTel(telephone);System.out.println("E-mail:");Stringmail=newScanner(System.in).next();a[cont].setEmail(mail);System.out.println("Cadastrado!!");cont++;}break;case2:lista(a);break;case3:break;case4:break;case5:break;case6:break;}}}publicstaticintmenu(){System.out.println(" 1.Inserir Registros\n 2.Listar\n 3.Pesquisar por Nome\n 4.Pesquisar por Posição\n"+" 5.Alterar Registro\n 6.Eliminar um Registro\n Escolha a Opção: ");returnnewScanner(System.in).nextInt();}publicstaticvoidlista(Alunoc[]){for(Alunot:c){if(t!=null){System.out.println(t.getNum());System.out.println(t.getAno());System.out.println(t.getNome());System.out.println(t.getDt_nas());System.out.println(t.getTel());System.out.println(t.getEmail());}}}}
J
joao0212
pgioseffi:
Põe o código do método menu() aí.
Tenta colocar entre as tags [code] para ficar mais legível teu código. Do jeito que tá complica.
Coloquei o código todo na tag [code]
vlw!!
pgioseffi
Se você chamar a opção de menu dois antes de inserir nada vai sair mesmo…
J
joao0212
Mas eu insiro todos os dados e mesmo assim ele não chama!!
pgioseffi
Rodei teu código aqui e funcionou legal…
Tenta com essa minha customização que usei para testar teu código:
importjava.util.Scanner;publicclassCadastro{publicstaticvoidmain(finalString[]args){finalAlunoa[]=newAluno[10];intcont=0;finalCadastroc=newCadastro();while(true){finalintop=Cadastro.menu();switch(op){case1:if(cont<10){a[cont]=c.newAluno();System.out.println("Número:");finalintnumber=newScanner(System.in).nextInt();a[cont].setNum(number);System.out.println("Ano:");finalintyear=newScanner(System.in).nextInt();a[cont].setAno(year);System.out.println("Nome:");finalStringname=newScanner(System.in).next();a[cont].setNome(name);System.out.println("Data");finalStringdate=newScanner(System.in).next();a[cont].setDt_nas(date);System.out.println("Telefone");finallongtelephone=newScanner(System.in).nextLong();a[cont].setTel(telephone);System.out.println("E-mail:");finalStringmail=newScanner(System.in).next();a[cont].setEmail(mail);System.out.println("Cadastrado!!");cont++;}break;case2:Cadastro.lista(a);break;case3:break;case4:break;case5:break;case6:break;}}}publicstaticintmenu(){System.out.println(" 1.Inserir Registros\n 2.Listar\n 3.Pesquisar por Nome\n 4.Pesquisar por Posição\n"+" 5.Alterar Registro\n 6.Eliminar um Registro\n Escolha a Opção: ");returnnewScanner(System.in).nextInt();}publicstaticvoidlista(finalAlunoc[]){for(finalAlunot:c){if(t!=null){System.out.println(t.getNum());System.out.println(t.getAno());System.out.println(t.getNome());System.out.println(t.getDt_nas());System.out.println(t.getTel());System.out.println(t.getEmail());}}}privateclassAluno{privateintnum;privateintano;privateStringnome;privateStringdt_nas;privatelongtel;privateStringemail;publicintgetNum(){returnthis.num;}publicvoidsetNum(finalintnum){this.num=num;}publicintgetAno(){returnthis.ano;}publicvoidsetAno(finalintano){this.ano=ano;}publicStringgetNome(){returnthis.nome;}publicvoidsetNome(finalStringnome){this.nome=nome;}publicStringgetDt_nas(){returnthis.dt_nas;}publicvoidsetDt_nas(finalStringdt_nas){this.dt_nas=dt_nas;}publiclonggetTel(){returnthis.tel;}publicvoidsetTel(finallongtel){this.tel=tel;}publicStringgetEmail(){returnthis.email;}publicvoidsetEmail(finalStringemail){this.email=email;}}}
J
joao0212
pgioseffi:
Rodei teu código aqui e funcionou legal...
Tenta com essa minha customização que usei para testar teu código:
Beleza cara, brigado!! Não vou ter como testar agora, mas ainda hoje posto o resultado.
Dando certo, agradeço e já mudo pra resolvido o título do post!!
J
joao0212
Desculpa a demora pra fazer o teste, mas infelizmente não deu certo desse novo jeito!!