Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: hymsoft en 20 de Julio 2016, 23:37
-
Buenas !! una nueva entrega. Espero que este bien y lo mejor que sea claro :-)
/**
* Resolucion del Ejercicio CU00669B
*
* @author Hugo Segura
* @version (a version number or a date)
*/
public class TestCU00669B
{
public static void main(String[] args){
//Declaracion de Variables
EntradaPorTeclado suEntrada = new EntradaPorTeclado();//para pedir datos por teclado
String miMesSecreto = "";
//Creo e inicializo el Array
String [] meses = {"enero","febrero","marzo","abril","mayo","junio","julio",
"agosto","septiembre","octubre","noviembre","diciembre"};
miMesSecreto = meses[6];//mi mes secreto es julio
System.out.println("...Comencemos el programa...\n");
if(suEntrada.pedirEntrada("Adivine el mes secreto. introduzca el mes en minúsculas: ").equals(miMesSecreto)){
//no hago nada si es correcto porque imprimo el mensaje cuando salgo del if
}else{
while(!suEntrada.pedirEntrada("No ha acertado. Intente adivinarlo introduciendo otro mes: ").equals(miMesSecreto));
}
System.out.println("¡Ha acertado!");
System.out.println("\n...Fin del programa...");
}//cierre del main
}//cierre de la clase
/**
* Clase para manipular la entrada por teclado
*
* @author Hugo Segura con correcciones de aprenderaprogramar.com
*/
import java.util.Scanner;
public class EntradaPorTeclado
{
public EntradaPorTeclado(){}//constructor por defecto
/* Este metodo retorna un String como reultado de lo ingresado
* por el usuario mediante el teclado
* El parametro es un String para mostrar un mensaje
*/
public String pedirEntrada(String mensaje_a_mostrar){
String entradaTeclado = "";
System.out.print(mensaje_a_mostrar);
Scanner entradaScanner = new Scanner(System.in);
entradaTeclado = entradaScanner.nextLine();
return entradaTeclado;
}//cierre entradaTeclado
}//Cierre clase
-
Hola! El programa va bien, aunque el planteamiento es un tanto extraño ya que has metido el while dentro de un if. Esto no parece que sea realmente necesario, ya que el propio while te permite establecer una condición, entonces no sería necesario un if y un while, sino simplemente un while
Así es como está hecho en https://www.aprenderaprogramar.com/foros/index.php?topic=2108.0, ese ejercicio te puede servir de referencia
Saludos!
-
Hola Cesar, el If lo use por si acierta el mes en la primera oportunidad, si no lo acierta, entra en el while y cambia el mensaje. Pasa que en vez de preguntar y después controlar, el if lo valido directo con la respuesta. Intente hacerlo solo con el While, pero se me hizo mas largo o no se me ocurre, si quieres me pegas como quedaria mejor el código asi sigo aprendiendo :-)
Como siempre, un saludo desde el Sur de Argentina!!