Corrijam para mim, não sei oque esta errado

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

Como já dito no outro post, esse IF está errado e está invertido com o FOR. O IF deve usar equals e ficar dentro do FOR.

Não duplique posts sem necessidade, essa dúvida é exatamente a mesma do outro post.

Segue código refatorado e funcionando!
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;
      }
    }
  }
}