hvordan man kan validere en dato i java

Indlæg af Annette Dalgaard     opdateret: 2011-09-14

Når du modtager input i Java , vil du ønsker at validere den , før den ledes til andre dele af dit program for at undgå fejl . Validering af brugerens input , før du accepterer den i programmet giver dig mulighed for at hoppe defekte input tilbage til brugeren . Mens de forskellige valg i datoudtryk kan gøre dato input og validering generende , en simpel metode giver dig mulighed for at kontrollere dit input og sikre korrekt formateret datoer

Du skal bruge: .
tekst editor og compiler eller Java IDE


1 .
Beslut på den dato format du vil kræve, at brugerne skal bruges til programmet input . For eksempel kan du vælge måned /dato /år
2
Opret en boolesk metode , der accepterer input dato i form af en streng : .
private isValidDate ( String input ) { }
3 .
Konverter din ideelle datoformatet i en streng , at Java kan forstå. Stedfortræder kapital " M " for hver karakter måneder , lille " d "for hver karakter dag i måneden , og små " y "for hver karakter i år . For eksempel , hvis du forventer dine brugere til at indtaste 31 December 1999 , da 1999/12/31 , vil din datoformatstrengen være MM /dd /åååå . Gem denne streng som formatString i din isValidDate metode .
String formatString=" MM /dd /yyyy " ; .
4
Importer krævede klasser ind i klassen med din isValidDate metode

import java. text . * ; .
5
Åbn en try-blok i din isValidDate metode . Inden for denne blok oprette en ny SimpleDateFormat kaldet format med formatString som input til sin konstruktør
try {
SimpleDateFormat format=ny SimpleDateFormat ( form) .
6

Ring format . setLenient ( falsk ) at sikre, at input strengen , vil blive korrekt analyseret. Nu passerer indgangen streng i format. parse () og luk try-blok . Den SimpleDateFormat vil forsøge at matche input strengen til din fastsat formatString . Hvis indgangen strengen indeholder en forkert formateret dato , vil SimpleDateFormat smide en undtagelse
format. setLenient ( falsk ) .
format. parse ( input ) ;
}

7 .
Uden for try-blok , fangst ParseException og IllegalArguementException . Return false , hvis en af disse undtagelser har fundet sted.
catch ( ParseException e ) {return false ; }
catch ( IllegalArguementException e ) {return false ; }
8
Hvis dit program har . nået til dette punkt , input dato var gyldig , og du kan returnere sandt og lukke din metode
returnere true .
9
Integrer metode, til dit program . Ring til isValidDate ( input ) på enhver input snor . Metoden vil returnere sand, hvis input strengen svarer til den dato, format , du har angivet i trin 3

gode råd og advarsler


  • Din sidste metode vil ligne følgende :
  • boolean isValidDate ( String input ) {
  • String formatString=" MM /dd /yyyy "
  • try {
  • SimpleDateFormat format=ny SimpleDateFormat ( form) ;
  • format . setLenient ( falsk ) ;
  • format. parse ( input ) ;
  • }
  • catch ( ParseException e ) {return false ; }
  • catch ( IllegalArguementException e ) {return false ; }
  • returnere sandt ;
  • }


  • Previous:hvordan man åbner den Inspiron 640 laptop Next:hvordan man kan konvertere en dato til kalender i java



     

    Kommentarer

    Code:
    change