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: paramonso en 24 de Septiembre 2018, 09:38
-
Hola. Dejo el ejercicio CU00669B del tutorial pdf de programación java.
Arrays o arreglos Java. Ejemplos, de objetos y tipos primitivos; length. Tipos de colecciones
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.
Clase MesesDelAño
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca Java
import java.util.ArrayList;
public class MesesDelAño
{
public static void main(String [] args){
String acertarMes="";
String[] mesesDelAño={"enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"};
String mesSecreto=mesesDelAño[3];
boolean acertado;//Variable para comparar la entrada del teclado con el mes del array
//Presentar los meses de año en pantalla
for(int i=0;i<mesesDelAño.length;i++){
System.out.print("Mes :"+( i+1) + " "+mesesDelAño[i]+"\n");
}
acertado=false;
Scanner entradaTeclado = new Scanner (System.in);
while(!acertado){
System.out.print("Entre el nombre de un mes en minusculas : ");
acertarMes = entradaTeclado.nextLine ();
acertarMes=acertarMes.toLowerCase();
acertado=acertarMes.equals(mesSecreto.toLowerCase());//Convertir a minusculas por si lo introducen en mayusculas
if(!acertado){System.out.print("Mes introducido "+acertarMes+"\nErroneo Repita la entrada \n");}
}
// Borrar pantalla en windows, si no funciona con otros sistemas operativos comentar la linea
System.out.print('\u000C');
System.out.print("Mes introducido :"+acertarMes+"\nMes Secreto :"+mesSecreto+"\nCOOOOOOOORRECTO");
}
}
Gracias. Un saludo. ;)
-
Buenas, para quien revise este ejercicio, comentar que hace perfectamente lo que se pedía. Como cosas a mejorar diría la forma de nombrar. En lugar de mesesDelAño creo preferible mesDelAño. De esta manera podemos decir "El mes 1 del año es febrero (comenzando a contar en enero igual a cero)" ó mesDelAño[1] es febrero. Nombrarlo mesesDelAño genera un efecto extraño, ya que tendríamos que decir "El meses 1 del año es febrero" ó mesesDelAño[1] es febrero. Igualmente en lugar de acertarMes usaría mesRespuesta. De esta manera podríamos decir el mesRespuesta es abril, en lugar de el acertarMes es abril. Otra recomendación es no usar eñes, pues aunque estén permitidas, a la larga pueden dar problemas. En ese caso usarías mesDelAnyo ó mesDelAnno en lugar de mesDelAño.
Salu2