Come per convalidare una data in Java

June 9

Come per convalidare una data in Java


Quando si riceve in ingresso in Java, ti consigliamo di convalidarlo prima di passare ad altre parti del programma per evitare errori. Convalida input dell'utente prima di accettare nel programma consente di rimbalzare ingresso difettosa indietro per l'utente. Mentre la varietà di scelte di espressione data può rendere la data di ingresso e validazione fastidioso, un metodo semplice permette di controllare l'input e garantire date formattata correttamente.

istruzione

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

2 Creare un metodo booleano che accetta la data di ingresso nella forma di una stringa:

isValidDate privato (ingresso String) {}

3 Convertire il formato data ideale in una stringa che Java può capire. Sostituire maiuscola "M" per ogni carattere di mesi, minuscola "d" per ogni carattere di giorno in mese e minuscole "y" per ogni carattere di anno. Per esempio se si prevede agli utenti di ingresso 31 Dicembre 1999, come 12/31/1999, la stringa di formato di data sarebbe MM / gg / aaaa. Salva questa stringa come formatString nel metodo isValidDate.

String formatString = "gg / MM / yyyy";

4 Importare le classi richieste nella classe che contiene il metodo isValidDate.

importare java.text. *;

5 Aprire un blocco try nel metodo isValidDate. All'interno di questo blocco creare un nuovo SimpleDateFormat chiamato formato con formatString come ingresso al suo costruttore.

provare{

SimpleDateFormat format = new SimpleDateFormat(form);

6 Chiamare format.setLenient (false) per garantire che la stringa di input verrà correttamente analizzato. Ora passare la stringa di input in format.parse () e chiudere il blocco try. Il SimpleDateFormat tenterà di corrispondere alla stringa di input al formatString fornito. Se la stringa di input contiene una data non correttamente formattato, SimpleDateFormat un'eccezione.

format.setLenient (false);
format.parse (ingresso);
}

7 Al di fuori del blocco try, catch ParseException e IllegalArguementException. Restituisce false se si è verificato uno di queste eccezioni.

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

8 Se il programma ha raggiunto questo punto, la data di ingresso era valido e si può tornare vero e chiudere il metodo.

return true;

9 Integrare il metodo nel vostro programma. Chiamare isValidDate (ingresso) su qualsiasi stringa di input. Il metodo restituisce true se la stringa di input corrisponde al formato della data specificata nel passaggio 3.

Consigli e avvertenze

  • Il vostro metodo finale sarà simile al seguente:
  • booleano isValidDate (ingresso String) {
  • String formatString = "gg / MM / yyyy"
  • provare{
  • formato SimpleDateFormat = new SimpleDateFormat (modulo);
  • format.setLenient (false);
  • format.parse (ingresso);
  • }
  • catch (ParseException e) {return false;}
  • catch (IllegalArguementException e) {return false;}
  • return true;
  • }