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.