Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: dferna en 02 de Abril 2017, 19:55
-
Hola a todos!
Aquí os dejo mi solución al ejercicio adivinar mes del tutorial de aprendizaje Java con BlueJ.
package aplicacion;
import java.util.Scanner;
public class AdivinarMes {
public static void main(String[] args) {
String[] meses = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre",
"octubre", "noviembre", "diciembre" };
String mesSecreto = meses[7];
String mesIntroducido = "";
while (!mesIntroducido.equals(mesSecreto)) {
System.out.println("Adivine el mes secreto. Introduzca el nombre del mes en minúsculas: ");
mesIntroducido = pideCadena();
if (mesIntroducido.equals(mesSecreto)) {
System.out.println("¡Has acertado!");
} else {
System.out.println("No ha acertado. Intente adivinarlo introduciendo otro mes:");
mesIntroducido = pideCadena();
}
}
}
private static String pideCadena() {
Scanner sc = new Scanner(System.in);
String entradaTeclado = sc.nextLine();
return entradaTeclado;
}
}
Saludos!!
-
Hola dferna.
Hay algo en la ejecución de tu código, te dejo un ejemplo de lo que muestra por pantalla:
Adivine el mes secreto. Introduzca el nombre del mes en minúsculas:
enero
No ha acertado. Intente adivinarlo introduciendo otro mes:
diciembre
Adivine el mes secreto. Introduzca el nombre del mes en minúsculas:
mayo
No ha acertado. Intente adivinarlo introduciendo otro mes:
junio
Adivine el mes secreto. Introduzca el nombre del mes en minúsculas:
agosto
¡Has acertado!
Cuando no se adivina el mes, una vez me indica que no se ha acertado y la siguiente no avisa del error, es algo que se podría corregir.
Saludos. ;D
-
Gracias por revisarlo, se me pasó por alto no me di cuenta al probarlo, lo reviso y lo corrijo.
Saludos :)
-
Buenas :D
Ya lo he corregido, aquí esta la solución correcta
package aplicacion;
import java.util.Scanner;
public class AdivinarMes {
public static void main(String[] args) {
String[] meses = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre",
"octubre", "noviembre", "diciembre" };
String mesSecreto = meses[7];
String mesIntroducido = "";
System.out.println("Adivine el mes secreto. Introduzca el nombre del mes en minúsculas: ");
mesIntroducido = pideCadena();
while (!mesIntroducido.equals(mesSecreto) && !mesIntroducido.equals("")) {
if (!mesIntroducido.equals(mesSecreto)) {
System.out.println("No ha acertado. Intente adivinarlo introduciendo otro mes:");
mesIntroducido = pideCadena();
}
}
System.out.println("¡Has acertado!");
}
private static String pideCadena() {
Scanner sc = new Scanner(System.in);
String entradaTeclado = sc.nextLine();
return entradaTeclado;
}
}
Y esta la salida por consola de una prueba
Adivine el mes secreto. Introduzca el nombre del mes en minúsculas:
julio
No ha acertado. Intente adivinarlo introduciendo otro mes:
marzo
No ha acertado. Intente adivinarlo introduciendo otro mes:
abril
No ha acertado. Intente adivinarlo introduciendo otro mes:
agosto
¡Has acertado!
Saludos :D