Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Dan_SB en 09 de Abril 2015, 20:16

Título: equalsIgnoreCase Java no diferenciar mayúsculas y minúsculas (CU00669B)
Publicado por: Dan_SB en 09 de Abril 2015, 20:16
Buenos dias!!

Mi versión del ejercicio del capitulo 69° del curso, enunciado:

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.

Aquí mi clase Mes_Secreto:
Código: [Seleccionar]
package mes_secreto;
import java.util.Scanner;

public class Mes_Secreto {   
    public static void main(String[] args) {
       Scanner in = new Scanner(System.in);
       String meses[] = new String []{"enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"};
       String mesSecreto = meses[5], dato ="";
       System.out.print("Adivine el mes secreto. Introduzca el nombre del mes en minúsculas: ");
       dato = in.next();
       if(dato.equalsIgnoreCase(mesSecreto) == true){
           System.out.println("Has acertado!!!");
       }
       else{
       do{
           System.out.println("No ha acertado. Intente adivinarlo introduciendo otro mes: ");
           dato = in.next();
       }while(dato.equalsIgnoreCase(mesSecreto)== false);
       System.out.println("Has acertado!!!");
       }
    } 
}

Ejecución del programa:

(http://i.imgur.com/fGrwyGD.png)

Asi como el ejemplo esta:

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!


Saludos!
Título: Re:Ejercicio (CU00669B), Arrays o Arreglos en java.
Publicado por: Mario R. Rancel en 10 de Abril 2015, 09:42
Hola Dan la respuesta al ejercicio es correcta. Para mejorar te propongo que compares tu solución con esta: https://www.aprenderaprogramar.com/foros/index.php?topic=2108.0

Si te fijas en tu código hay cierta "repetición". En la medida en que puedas hacer el código más compacto y con menos repetición mejor programador serás, aunque no hay que obsesionarse por optimizar y compactar es bueno por lo menos ser consciente de ello. En la programación profesional se encuentran con frecuencia códigos muy poco optimizados...

Saludos.
Título: Re:equalsIgnoreCase Java no diferenciar mayúsculas y minúsculas (CU00669B)
Publicado por: Dan_SB en 10 de Abril 2015, 16:43
Vaya, tienes razón... Al parecer en programación se debe evitar la repetición de lineas...!

Muchas gracias por tu comentario!!