Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Ryche en 01 de Abril 2016, 16:13
-
Hola, muy buenas.
Dejo mi solución para el ejercicio CU00669B del curso de aprendizaje de la programación con Java desde cero:
import java.util.Scanner;
public class AdivinaAdivinanza{
public static void main(String[]args){
String[]meses={"enero","febrero","marzo","abril","mayo","junio","julio","agosto",
"setiembre","octubre","noviembre","diciembre"};
String mesSecreto=meses[1];
System.out.println("Adivina el mes de mi cumpleaños");
while (true){
System.out.println("Dime un mes:");
Scanner escaneo=new Scanner(System.in);
String propuesta=escaneo.nextLine();
if (propuesta.equalsIgnoreCase(mesSecreto)){
System.out.println("¡HAS ACERTADO!");
break;}
else{System.out.println("Has fallado.Intentalo de nuevo");}
}
}
}
Un saludo
-
Hola Ryche.
Tu código hace lo que pide el enunciado.
Pero usar while(true), esto es una mala práctica, usarlo como ejemplo puede valer, pero para resolver ejercicios u otra clase de programas, no, porque esto implica que para salir del blucle, necesitemos usar break, porque true siempre valdrá true. Y usar break es una forma poco elegante de salir de un bucle.
Te recomiendo que veas esta solución para ayudarte.
https://www.aprenderaprogramar.com/foros/index.php?topic=2108.msg10350#msg10350
Saludos. ;D