Como ler 10 nomes e armazenar em um array?

Minha primeira pergunta, gente n estou conseguindo fazer td o código, alguém poderia me ajudar? obrigada!

Escreva um algoritmo que permita a leitura dos nomes de 10 pessoas e armazene os nomes lidos em um vetor. Após isto, o algoritmo deve permitir a leitura de mais 1 nome qualquer de pessoa e depois escrever a mensagem ACHEI, se o nome estiver entre os 10 nomes lidos anteriormente (guardados no vetor), ou NÃO ACHEI caso contrário.

public static void main(String[] args) {

    String nomes[] = new String[10];
    String nome = " ";
    int i = 0;
    boolean encontrou;

    Entrada.leiaInt("Digite o nome " + i);
    System.out.print(nomes[i]);

    Entrada.leiaString("Digite um nome a ser buscado");
    System.out.print(nome);

    encontrou = false;

    if (nomes[i] == nome) {
        encontrou = true;

    }

    if (encontrou = true) {
        System.out.print(" O nome encontra-se no vetor");

    } else {
        System.out.print(" O nome não se encontra no vetor ");
    }
}

}

No caso vc precisaria usar um for, eu mostro no código abaixo.

Quando vc vai testar uma variável do tipo boolean, não precisa colocar if (encontrou == true), basta colocar if (encontrou).

Quando vc vai comparar String, quase sempre é uma ideia ruim usar nome[0] == "string", vc deve usar os métodos equals ou equalsIgnoreCase como eu fiz abaixo.

No Java, por convenção, quando declaramos um array, colocamos os colchetes logo após o tipo e não após o nome como vc fez. Não está errado fazer String nomes[], é só uma questão de convenção mesmo, para facilitar a leitura e evitar confusão que fazemos String[] nomes.

A ideia daquele break dentro do if é para fazer o loop parar caso ele encontre o nome desejado.

public class Program {
  public static void main(String... args) {
    String[] nomes = new String[5];

    for (int i = 0; i < nomes.length; i++) {
      nomes[i] = Entrada.leiaString("Digite o " + (i + 1) + "º nome: ");
    }

    String nomeDesejado = Entrada.leiaString("Digite o nome que deseja encontrar: ");
    boolean encontrou = false;

    for (int i = 0; i < nomes.length; i++) {
      if (nomes[i].equalsIgnoreCase(nomeDesejado)) {
        encontrou = true;
        break;
      }
    }

    if (encontrou) {
      System.out.println("ACHEI");
    } else {
      System.out.println("NÃO ACHEI");
    }
  }
}
2 curtidas