0

Estoy realizando un programa que usa 4 arrays, tres que almacenan información de alumnos que pedimos al usuario, y el otro almacena un mensaje a mostrar posteriormente. El problema se da en el if para comparar si el nombre del Alumno a buscar pertenece al array. Busque en internet y me mostraban ejemplos similares al mio, aun asi el mio no hace su función.

switch (op){
            //Si quieres buscar por nombre
            case 1:
                //Pedimos el nombre a buscar
                System.out.println("Ingrese nombre del Alumno a buscar: ");
                String nombreB = teclado.nextLine();
                teclado.nextLine();
                
                 
                //Creamos bucle para recorrer todo el arreglo
                for (int i = 0; i < 5; i++){
                   
                    //Si el nombre a buscar esta en el arreglo
                     if (nombreB == nombreC [i]){
                        
                         //Se aumenta el contador de cuantas veces se repite el nombre en el array
                         cont++;
                         //Se almacena en el array mensaje el mensaje correspondiente a este alumno
                         mensaje [i] = nombreC[i] + " tiene como numero de control: " + noControl[i] + " y tiene como calificacion final: " + promedio[i];
                     }
                }
                
                if (cont == 0){
                    System.out.println("El nombre no existe en el arreglo");
                }

El programa simplemente no entra en el if y se va al siguiente if diciendo que no existe en el array aunque si haya un valor igual dentro.

1 Answers1

0

Reemplaza esto:

nombreB == nombreC[i]

Por esto:

nombreB.equals(nombreC[i])

Te recomiendo esta pregunta donde se explica cómo comparar correctamente Strings en Java.

TomuRain
  • 644
  • 4
  • 16