Java - programa que lea una cadena del teclado y pruebe una fecha válida

 
Vista:
sin imagen de perfil

programa que lea una cadena del teclado y pruebe una fecha válida

Publicado por juan (5 intervenciones) el 09/01/2021 13:51:55
soy nuevo programa mando quisiera saber si alguien me puede ayudar con la explicación de la resolución de este ejercicio

Escriba un programa que lea una cadena del teclado y pruebe una fecha válida. Muestra la fecha y un mensaje que indica si es válido. Si no es válido, también muestra un mensaje que explica por qué no es válido.
gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
sin imagen de perfil

programa que lea una cadena del teclado y pruebe una fecha válida

Publicado por anonymous (47 intervenciones) el 09/01/2021 13:58:28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// Existen múltiples maneras de hacerlo, ya que hay varias librerías para ello como: gregoriancalendar, java.util.Date y java.util.Calendar
// Pero esta es una de tantas
 
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Scanner;
 
public class Probar_Fecha {
public static void main(String[] args) {
        String fecha;
        Scanner leer=new Scanner(System.in);
    boolean res=true;
        System.out.println("Ingresar fecha");
        fecha=leer.next();
        res=validarFecha(fecha);
        if(res==true){
            System.out.println("La fecha es correcta");
             }else
                 System.out.println("La fecha no es valida");
         }
 
public static boolean validarFecha(String fecha) {
        try {
            SimpleDateFormat formatoFecha = new SimpleDateFormat("dd/MM/yyyy");
            formatoFecha.setLenient(false);
            formatoFecha.parse(fecha);
        } catch (ParseException e) {
            return false;
        }
        return true;
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ayuda Netbeans

Publicado por juan (5 intervenciones) el 09/01/2021 14:15:59
una pregunta amigo como puedo hacer el miso programa si usar esa libreria y usando clases
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
sin imagen de perfil

Ayuda Netbeans

Publicado por anonymous (47 intervenciones) el 09/01/2021 14:33:33
Defines una clase con sus atributos, algo así como:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class Fecha {
 
    private int dia;
    private int mes;
    private int año;
 
public void setDia(int d) {
        dia = d;
    }
    public void setMes(int m) {
        mes = m;
    }
    public void setAño(int a) {
        año = a;
    }
    public int getDia() {
        return dia;
    }
    public int getMes() {
        return mes;
    }
    public int getAño() {
        return año;
    }
}

La instancias así Fecha mifecha = new Fecha();

Y le aplicas un set a cada uno de sus atributos, para pasarle los valores, que deberás validar que sean estrictamente numéricos y enteros.

Validación que deberás hacer manualmente y por supuesto controlar tu mismo la integridad en la fecha, si no quieres utilizar la librería, es decir tendrás que controlar que un día esté entre 28 y 31, controlar el bisiesto, que el mes esté entre 1 y 12 y controlar la longitud de éstos.

Así te complicas la vida, porque las librerías hacen ese trabajo "sucio" por tí, el SimpleDateFormat lo que hace es formatear tu fecha a una que sea válida, pero es decisión tuya hacerlo de otra forma.

Saludos y la próxima vez realiza una búsqueda en google y acá en lwdp donde hay mucho ejemplo al respecto.

http://puntocomnoesunlenguaje.blogspot.com/2015/10/clase-fecha-java.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar