30 de septiembre de 2011

Primer ejemplo en Java


Un primer ejemplo en Java que comprende leer unas variables, transformar su tipo y posteriormente imprimir esos valores, lo pueden descargar aquí.

El código del main es el siguiente:
package validarfecha;
import javax.swing.*;
/**
 *
 * @rafalizcano
 */
public class Main {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        //Declaración de las variables
        int dia, mes, año;
        String temp;
        //Solicitar los valores (Entradas)
        dia = Integer.parseInt(JOptionPane.showInputDialog("Por favor digite el día"));
        temp=JOptionPane.showInputDialog("Por favor digite el mes");
        mes=Integer.parseInt(temp);
        año = Integer.parseInt(JOptionPane.showInputDialog("Por favor digite el Año"));
        //Imprimir con una ventana de dialogo
        JOptionPane.showMessageDialog(null,"La fecha leída es: \n" + dia + "/" + mes + "/" + año);
    }
}

La Solución completa la pueden descargar aquí o verla a continuación:
public static void main(String[] args) {
        // TODO code application logic here

        //Declarar variables
        int dia, mes, año, maxDias=30;
        String temp;

        boolean hayError=false, añoBisiesto=false;

        //Inicializar las variables

        dia = Integer.parseInt(JOptionPane.showInputDialog("Digite el dia"));

        temp=JOptionPane.showInputDialog("Digite el mes");
        mes=Integer.parseInt(temp);

        año = Integer.parseInt(JOptionPane.showInputDialog("Digite el Año"));

        //Mostrar los valores leídos
     
        JOptionPane.showMessageDialog(null, "La fecha leída es: \n" +dia + "/" + mes + "/" + año);

        //Validar la Fecha

        if (((año%4==0)&&!(año%100==0))||(año%400==0))    //Año es Bisiesto?
            añoBisiesto=true;

        //Validando el mes
        if ((mes<1)||(mes>12))
            hayError=true;
        else if((mes==4)||(mes==6)||(mes==9)||(mes==11))
             maxDias=30;
        else if (mes==2)
            if (añoBisiesto)
                maxDias=29;
            else
                maxDias=28;
        else
            maxDias=31;
     
        /* Lo mismo que el if pero con switch
        switch (mes) {
            case 2:
                if (añoBisiesto)
                    maxDias=29;
                else
                    maxDias=28;

                break;
            case 4:
            case 6:
            case 9:
            case 11: maxDias=30;
                     break;
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12: maxDias=31;
                     break;
            default: hayError=true;
        }

        ** o también combinandolos

        if ((mes<1)||(mes>12))
            hayError=true;
        else
           switch (mes) {
            case 2:
                if (añoBisiesto)
                    maxDias=29;
                else
                    maxDias=28;

                break;
            case 4:
            case 6:
            case 9:
            case 11: maxDias=30;
                     break;
            default: maxDias=31;
            }
            */



        //Validar los dias
        if ((dia<1)||(dia>maxDias))
            hayError=true;

        //Imprimos si la fecha es valida
        if (hayError)
            JOptionPane.showMessageDialog(null, "La fecha leída es INCORRECTA: \n" +dia + "/" + mes + "/" + año);
        else
            JOptionPane.showMessageDialog(null, "La fecha leída es CORRECTA: \n" +dia + "/" + mes + "/" + año);

        if (añoBisiesto)
            JOptionPane.showMessageDialog(null, "El año es Bisiesto: \n" + año);

    }

No hay comentarios:

Publicar un comentario

En este espacio los comentarios son moderados con el fin de que si son dudas presentadas el proceder a su aclaración y también de ese modo verificar la información que se publique en el blog.

Nota: solo los miembros de este blog pueden publicar comentarios.