Oque está errado aqui?

import java.util.Scanner;

public class Questaoquatroatvum {
    
    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);
        String[] nome = new String [15];
        String nomeP;
        int menu, i=0;
        boolean parar = 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!");
            } else if (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!");
                    }
                } else if (menu == 3) {
                    System.out.println("Saindo!!!");
                    parar = true;
                }
            }
        }
    }
}
---MENU---
1- cadastrar   |   2- pesquisar   |   3- sair
1
Digite o nome do hóspede que deseja cadastrar: 
bm
0
bm
Máximo de cadastros atingido!
---MENU---
1- cadastrar   |   2- pesquisar   |   3- sair
2
Digite o nome do hóspede que deseja pesquisar: 
bm
Hóspede não encontrado!
---MENU---
1- cadastrar   |   2- pesquisar   |   3- sair

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.

não deu certo agora ficou com erro

Que erro? Como ficou depois que vc alterou?

aparece: ‘)’ expected e com o simbolo aquele simbolo vermelho ali no if(nomeP.equals(nome[i])

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])) {

Testa esse código abaixo, deu uma arrumada pelo reply.it mesmo.

import java.util.Scanner;

 class Questaoquatroatvum {
    
    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);
        String[] nome = new String [15];
        String nomeP;
        int menu, i=0;
        boolean parar = 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!");
            } else if (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!");
                    }
                } else if (menu == 3) {
                    System.out.println("Saindo!!!");
                    parar = true;
                }
            }
        }
    }

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.

1 curtida

mesmo assim continua não encontrando o hospede

não deu mano

como assim mano

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.

import java.util.Scanner;
import java.util.ArrayList;

class Main {
  public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);
    ArrayList<String> cadastro = new ArrayList<String>();
    String pesquisa;
    int menu;
    boolean parar = false;
    boolean resultadoPesquisa = 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!");
      } else if (menu == 2) {
        System.out.println("Digite o nome do hóspede que deseja pesquisar: ");
        pesquisa = entrada.nextLine();

        for (String resultado : 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;
      }
    }
  }
}