Cómo hacer que el escáner escanee todos los elementos de una matriz, en Java.
Este es el cuestionamiento: Crea un array de Strings y asigna 5 nombres. Pregunta al usuario cuál es su nombre, si su nombre se encuentra en la lista haz algo creativo. Usa un loop for-each para imprimir todos los nombres en el array, separándolos con un espacio.
Esto es lo que tengo hasta ahora. Una de las dificultades que tengo es que el scanner solo está comparando la entrada con el primer nombre del array y no con los demás.
public static void main(String[] args) {
String[] nombres = {"Jose", "Alex", "Steven", "Sky", "Ana"};
Scanner escaner = new Scanner(System.in);
System.out.println("¿Cuál es tu nombre? ");
String entrada = escaner.next();
for (String n:nombres) {
if (n.equalsIgnoreCase(entrada)) {
System.out.print("¡Hurra! ¡Tienes muchas probabilidades de encontrar un llavero con tu nombre! =) ");
}
else {
System.out.print("¡Bienvenido al exclusivo club de nombres raros! =D " );
System.out.print(nombres + " ");
}
break;
}
}
}
Siéntete libre de comentar cualquier otro problema que veas. Soy nuevo en esto y agradecería cualquier comentario. Gracias.
davy.ai
Hay un par de problemas en el código:
La declaración break está haciendo que el bucle for salga después de verificar el primer elemento del array, por lo que solo está comparando la entrada de usuario con el primer nombre. Deberías mover la declaración break dentro del bloque if, para que solo salga del bucle si encuentra una coincidencia.
Este es el código actualizado:
Este código debería imprimir un mensaje de bienvenida para los nombres que no estén en el array, y un mensaje especial para los nombres que coincidan. También debería imprimir todos los nombres del array.