När du tar emot input i Java , men du vill validera det leds sedan vidare till andra delar av ditt program för att undvika fel . Validera användarens input innan den godkänns i programmet ger dig möjlighet att studsa felaktig inmatning tillbaka till användaren . Medan olika val i dag uttryck kan göra datum -ingång och validering besvärlig , medger en enkel metod du kan kontrollera din input och säkerställa korrekt formaterade datum . Saker du behöver
text editor och kompilator eller Java IDE
Visa fler instruktioner
1
besluta om datumformatet du kommer att kräva användare att använda för program inmatning . Till exempel kan du välja månad /dag /år
2
Skapa en boolesk metod som accepterar indata i form av en sträng : .
Privat isValidDate ( String input ) { } Addera 3
Konvertera din ideala datumformatet till en sträng som Java kan förstå . Ersätt kapital " M" för varje tecken i månad , gemener " d " för varje tecken på dagen i månaden , och gemener " y" för varje tecken på året. Till exempel om du förväntar dig att dina användare att mata in 31 december, 1999 , som 1999/12/31 , skulle din datumformat string vara MM /dd /åååå . Spara denna sträng som formatString i din isValidDate metod
String formatString = " MM /dd /åååå "; .
4
Importera de nödvändiga klasserna in i klassen som innehåller din isValidDate metod < . br >
import java.text *; .
5
Öppna ett try-block i din isValidDate metod . Inom detta block skapar en ny SimpleDateFormat heter format med formatString som ingång till dess konstruktor
try { SimpleDateFormat format = ny SimpleDateFormat ( form) , .
6
Ring format.setLenient ( false ) för att säkerställa att den ingående strängen blir ordentligt analyserad . Nu passerar indatasträngen i format.parse ( ) och stäng try-blocket . Den SimpleDateFormat försöker matcha den ingående sträng till din uppgift formatString . Om indatasträngen innehåller en felaktigt formaterad datum kommer SimpleDateFormat kasta ett undantag
format.setLenient ( false ) ; . Format.parse ( ingång ) ;}
7
Utanför försöka blockera , fånga ParseException och IllegalArguementException . Returnera false om något av dessa undantag har inträffat
fångst ( ParseException e ) {return false; } . Fångsten ( IllegalArguementException e ) {return false; }
8 p Om ditt program har nått denna punkt , var den ingående datum giltig och du kan returnera sant och stäng din metod
return true ; .
9
Integrera metoden i ditt program . Ring isValidDate ( ingång ) på någon ingång sträng . Metoden returnerar true om indatasträngen matchar datumformat du angav i steg 3 .