Autor Tema: Java diferentes formas de nombrar variables cuál puede ser mejor estilo CU00669B  (Leído 279 veces)

paramonso

  • Intermedio
  • ***
  • Mensajes: 242
  • El ignorante afirma, el sabio duda y reflexiona.
    • Ver Perfil
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

Código: [Seleccionar]
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. ;)
« última modificación: 24 de Febrero 2019, 18:18 de Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2484
    • Ver Perfil
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

 

Esto es un laboratorio de ideas...
Aprender a programar

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".