Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Pandemia en 08 de Septiembre 2016, 22:06
-
Buenas amigos, aquí os dejo una posible solución al ejercicio CU00669B del curso básico de programación orientada a objetos con Java.
EJERCICIO
Crea una clase con el método main donde declares una variable de tipo array de Strings que contenga los doce meses del año, en minúsculas y declarados en una sola línea. A continuación declara una variable mesSecreto de tipo String, y hazla igual a un elemento del array (por ejemplo mesSecreto = mes[9]. El programa debe pedir al usuario que adivine el mes secreto y si acierta mostrar un mensaje y si no pedir que vuelva a intentar adivinar el mes secreto. Puedes comprobar si tu código es correcto consultando en los foros aprenderaprogramar.com.
Un ejemplo de ejecución del programa podría ser este:
Adivine el mes secreto. Introduzca el nombre del mes en minúsculas: febrero
No ha acertado. Intente adivinarlo introduciendo otro mes: agosto
No ha acertado. Intente adivinarlo introduciendo otro mes: octubre
¡Ha acertado!
/**
* Ejercicio CU00669B del curso de java desde cero de aprenderaprogramar.com
* Versión 0.1
* Realizado por Pandemia
*/
import java.util.Scanner;
public class MesesDelAnio
{
public static void main (String [] Args){
String [] losMeses = {"enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre",
"octubre", "noviembre", "diciembre"};
String mesSecreto = losMeses[5];
String adivinar = ""; //variable para que el usuario introduzca su intento
Scanner sc = new Scanner(System.in); // El objeto Scanner guarda el valor
System.out.println("Adivine cual es el mes secreto");
System.out.println("Introduzca el mes: ");
adivinar = sc.nextLine();
for(int i = 0;! adivinar.equals(mesSecreto);i++){
System.out.println("No has adivinado, intentalo nuevamente");
System.out.println("ingrese el mes:");
adivinar = sc.nextLine();
}//Cierre del for
System.out.println("Adivinaste que el mes secreto era " + adivinar );
}//cierre del main
}//cierre de la clase
Saludos y gracias por vuestro tiempo... ;D
-
Hola! Aunque el programa funcione haces un uso muy extraño del bucle for. Un bucle for se usa normalmente para un número de repeticiones conocido, por ejemplo para recorrer una lista, o para repetir algo un número determinado de veces. Para repeticiones con un número no conocido a priori la convención es usar un bucle while (o do while), como está resuelto en https://www.aprenderaprogramar.com/foros/index.php?topic=2108.0 y no se recomienda usar un bucle for
Saludos!