Esta podría ser una solución para el ejercicio CU00669B.
import java.util.Scanner;
public class EntradaTeclado{
private String entrada;
Scanner scaner;
public EntradaTeclado(){
entrada="";
scaner = new Scanner(System.in);
}
public String getEntrada(){
return entrada;
}
public void setEntrada(){
entrada = scaner.nextLine();
}
}
//Encontre en el API de Java la clase Random que la utilizo para generar indices de forma aleatoria
import java.util.Random;
public class MesSecreto{
public static void main(String Arg[]){
String[] meses={"enero","febrero","marzo","abril","mayo","junio","julio","agosto",
"septiembre","octubre","noviembre","diciembre"};
/*Accedemos a una posición aleatoria del vector utilizando el metodo nextInt de la clase
* Random, que devuelve un entero comprendido entre 0 y el argumento entero-1.
* ¡Ligando el azar a la programación!, puede que no sea una buena idea...
*/
String mesSecreto=meses[new Random().nextInt(12)];
EntradaTeclado entradaTeclado=new EntradaTeclado();
System.out.print("Adivine el mes secreto. Introduzca el nombre del mes en minúsculas: ");
entradaTeclado.setEntrada();
while(!mesSecreto.equals(entradaTeclado.getEntrada())){
System.out.print("No ha acertado. Intente adivinarlo introduciendo otro mes: ");
entradaTeclado.setEntrada();
}
System.out.println("¡Ha acertado!");
}
}
Un saludo.