Nwlapcug.com


Come convalidare una data in Java

Come convalidare una data in Java


Quando si riceve l'input in Java, ti consigliamo di convalidarlo prima di passarlo ad altre parti del vostro programma per evitare dei bug. Convalida dell'input dell'utente prima di accettarlo nel programma consente di rimbalzo difettoso input all'utente. Mentre la varietà di scelte nell'espressione data può fare data convalida dell'input e fastidioso, un metodo semplice consente di controllare il vostro input e garantire le date formattate correttamente.

Istruzioni

1

Decidere il formato della data che si richiederà agli utenti di utilizzare per l'input del programma. Ad esempio, è possibile selezionare data/mese/anno.

2

Creare un metodo Boolean che accetta l'input data sotto forma di una stringa:

privato isValidDate (String input) {}

3

Convertire il formato di data ideale in una stringa che Java può capire. Sostituire capitale "M" per ciascun personaggio del mese, minuscolo "d" per ciascun personaggio del giorno in mese e minuscolo "y" per ogni personaggio dell'anno. Ad esempio se si prevede gli utenti al 31 dicembre 1999, di input come 31/12/1999, la stringa di formato di data sarebbe MM/gg/aaaa. Salvare questa stringa come formatString nel metodo isValidDate.

Function formatString = "MM/dd/yyyy";

4

Importare le classi richieste nella classe contenente il metodo di isValidDate.

importazione java.text.*;

5

Aprire un blocco try nel metodo isValidDate. All'interno di questo blocco è necessario creare un nuovo SimpleDateFormat chiamato formato con formatString come input al relativo costruttore.

try {

SimpleDateFormat format = new SimpleDateFormat(form);6

Chiamata format.setLenient(false) per garantire che la stringa di input viene analizzata correttamente. Ora passare la stringa di input nel format.parse() e chiudere il blocco try. Il SimpleDateFormat tenta di far corrispondere la stringa di input per la proprietà formatString. Se la stringa di input contiene una data formattata in modo errato, SimpleDateFormat genererà un'eccezione.

format.setLenient(false);
Format.Parse(input);
}

7

All'esterno del blocco try, catch ParseException e IllegalArguementException. Restituisce false se una di queste eccezioni si è verificato.

} catch (ParseException e) {return false;}
} catch (IllegalArguementException e) {return false;}

8

Se il programma ha raggiunto questo punto, la data di input è valida e può restituire true e il metodo close.

Restituisce true;

9

Integrare il metodo nel vostro programma. Chiamare isValidDate(input) su qualsiasi stringa di input. Il metodo restituirà true se la stringa di input corrisponde al formato di data specificato nel passaggio 3.

Consigli & Avvertenze

  • Il metodo finale sarà simile al seguente:
  • Boolean isValidDate (String input) {
  • Function formatString = "MM/gg/aaaa"
  • try {
  • SimpleDateFormat formato = nuovo SimpleDateFormat(form);
  • format.setLenient(false);
  • Format.Parse(input);
  • }
  • } catch (ParseException e) {return false;}
  • } catch (IllegalArguementException e) {return false;}
  • Restituisce true;
  • }