importjava.util.Scanner;publicclassQuestaoquatroatvum{publicstaticvoidmain(String[]args){Scannerentrada=newScanner(System.in);String[]nome=newString[15];StringnomeP;intmenu,i=0;booleanparar=false;while(!parar){System.out.println("---MENU---\n1- cadastrar 2- pesquisar 3- sair");menu=entrada.nextInt();entrada.nextLine();if(menu==1){System.out.println("Digite o nome do hóspede que deseja cadastrar: ");nome[i]=entrada.nextLine();System.out.println(i);System.out.println(nome[i]);i++;System.out.println("Máximo de cadastros atingido!");}elseif(menu==2){System.out.println("Digite o nome do hóspede que deseja pesquisar: ");nomeP=entrada.nextLine();if(nomeP==nome[i]){for(i=0;i<nome.length;i++){System.out.println("Hóspede "+nome[i]+" encontrado no índice "+i+1+"!");}}else{System.out.println("Hóspede não encontrado!");}}elseif(menu==3){System.out.println("Saindo!!!");parar=true;}}}}}
Comparação de String vc deve fazer com equals e não ==:
if(nomeP.equals(nome[i]){
Outra coisa que vc deve mudar é o uso da variável i. Melhor não reutilizar da forma como vc está fazendo, pq o for vai ficar alterando o valor dela toda vez que uma pesquisa for feita.
V
VICTOR4
não deu certo agora ficou com erro
L
Lucas_Camara
Que erro? Como ficou depois que vc alterou?
V
VICTOR4
aparece: ‘)’ expected e com o simbolo aquele simbolo vermelho ali no if(nomeP.equals(nome[i])
L
Lucas_Camara
Então, a mensagem diz o que está errado: ‘)’ expected, ou seja, faltou um parênteses. Eu que não coloquei no exemplo que postei. Basta vc adicionar um outro parenteses:
if(nomeP.equals(nome[i])){
W
wallacecampanha
Testa esse código abaixo, deu uma arrumada pelo reply.it mesmo.
importjava.util.Scanner;classQuestaoquatroatvum{publicstaticvoidmain(String[]args){Scannerentrada=newScanner(System.in);String[]nome=newString[15];StringnomeP;intmenu,i=0;booleanparar=false;while(!parar){System.out.println("---MENU---\n1- cadastrar 2- pesquisar 3- sair");menu=entrada.nextInt();entrada.nextLine();if(menu==1){System.out.println("Digite o nome do hóspede que deseja cadastrar: ");nome[i]=entrada.nextLine();System.out.println(i);System.out.println(nome[i]);i++;System.out.println("Máximo de cadastros atingido!");}elseif(menu==2){System.out.println("Digite o nome do hóspede que deseja pesquisar: ");nomeP=entrada.nextLine();if(nomeP==nome[i]){for(i=0;i<nome.length;i++){System.out.println("Hóspede "+nome[i]+" encontrado no índice "+i+1+"!");}}else{System.out.println("Hóspede não encontrado!");}}elseif(menu==3){System.out.println("Saindo!!!");parar=true;}}}}
P
pmlm1 like
Este if e for estão trocados. O if tem de ser dentro do for, para cada elemento do array. E usar i aqui pode provocar problemas mais para a frente, quando quiseres ter mais do que um cadastro, uma vez que i já é uma variavel da classe usada para o indice a inserir.
V
VICTOR4
mesmo assim continua não encontrando o hospede
V
VICTOR4
não deu mano
V
VICTOR4
como assim mano
W
wallacecampanha
SAUDAÇÕES MEU AMIGO, SEGUE CÓDIGO PRONTO E FUNCIONANDO!
Confesso que estava com um pouco de preguiça, pois sou Programador PHP, mas fiz o código ai limpo pra te ajudar! Depois só colocar o tópico como resolvido!
Grande abraço.
importjava.util.Scanner;importjava.util.ArrayList;classMain{publicstaticvoidmain(String[]args){Scannerentrada=newScanner(System.in);ArrayList<String>cadastro=newArrayList<String>();Stringpesquisa;intmenu;booleanparar=false;booleanresultadoPesquisa=false;while(!parar){System.out.println("---MENU---\n1- cadastrar 2- pesquisar 3- sair");menu=entrada.nextInt();entrada.nextLine();if(menu==1){System.out.println("Digite o nome do hóspede que deseja cadastrar: ");cadastro.add(entrada.nextLine());System.out.println("Cadastro efetuado com sucesso!");// System.out.println("Máximo de cadastros atingido!");}elseif(menu==2){System.out.println("Digite o nome do hóspede que deseja pesquisar: ");pesquisa=entrada.nextLine();for(Stringresultado:cadastro){if(resultado.equalsIgnoreCase(pesquisa)){System.out.println("Hospede encontrado: "+resultado);resultadoPesquisa=true;}}if(resultadoPesquisa==false){System.out.println("Hospede "+pesquisa+" não encontrado");}}else{System.out.println("Saindo!!!");parar=true;}}}}