Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: dferna en 02 de Abril 2017, 19:55

Título: Java programa para adivinar un mes aleatorio código BlueJ con array CU00669B
Publicado 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.

Código: [Seleccionar]
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!!
Título: Re:Resolucion ejercicio CU00669B
Publicado por: pedro,, en 04 de Abril 2017, 23:08
Hola dferna.

Hay algo en la ejecución de tu código, te dejo un ejemplo de lo que muestra por pantalla:

Citar
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
Título: Re:Resolucion ejercicio CU00669B
Publicado por: dferna en 05 de Abril 2017, 00:27
Gracias por revisarlo, se me pasó por alto no me di cuenta al probarlo, lo reviso y lo corrijo.

Saludos  :)
Título: Re:Resolucion ejercicio CU00669B
Publicado por: dferna en 05 de Abril 2017, 19:12
Buenas  :D

Ya lo he corregido, aquí esta la solución correcta

Código: [Seleccionar]
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

Código: [Seleccionar]
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