Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Java

Πώς να επικυρώσει μια ημερομηνία σε Java

Κατά την παραλαβή των εισροών σε Java , θα θέλετε να την επικυρώσει πριν από τη διοχέτευση σε άλλα μέρη του προγράμματος σας για να αποφύγετε σφάλματα . Επικύρωση εισόδου του χρήστη πριν από την αποδοχή στο πρόγραμμα σας επιτρέπει να αναπηδήσει ελαττωματικό είσοδο πίσω στο χρήστη . Ενώ η ποικιλία επιλογών στην έκφραση ημερομηνίας μπορεί να κάνει την ημερομηνία εισόδου και επικύρωση ενοχλητικό , μια απλή μέθοδος σας επιτρέπει να ελέγξετε τη συμβολή σας και να εξασφαλίσει κατάλληλα διαμορφωμένο ημερομηνίες . Τα πράγματα που θα χρειαστείτε
επεξεργαστή κειμένου και compiler ή Java IDE
Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Αποφασίστε σχετικά με τον τύπο της ημερομηνίας που θα απαιτούν από τους χρήστες να χρησιμοποιούν για την είσοδο του προγράμματος . Για παράδειγμα , μπορείτε να επιλέξετε μήνας /ημερομηνία /έτος 2

Δημιουργήστε μια Boolean μέθοδο που δέχεται η ημερομηνία εισόδου με τη μορφή μιας συμβολοσειράς : .

Ιδιωτικό isValidDate (είσοδος String ) { }
εικόνων 3

Μετατροπή ιδανική μορφή ημερομηνία σας σε μια σειρά ότι η Java μπορεί να καταλάβει . Αναπληρωτής κεφάλαιο " M" για κάθε χαρακτήρα του μήνα , πεζά "d" για κάθε χαρακτήρα της ημέρας, μήνα , και πεζά " y" για κάθε χαρακτήρα του έτους . Για παράδειγμα, αν αναμένουν οι χρήστες σας στην είσοδο 31 του Δεκεμβρίου 1999 , η 12/31/1999 , ημερομηνία μορφή χορδών σας θα είναι ΜΜ /μμ /εεεε . Αποθηκεύστε αυτή τη σειρά , όπως εμφάνιση μηνυμάτων στη μέθοδο isValidDate σας

String εμφάνιση μηνυμάτων = " MM /dd /yyyy" ? . .
Η 4

εισαγωγής τα απαιτούμενα μαθήματα στην τάξη που περιέχει τη μέθοδο isValidDate σας

java.text εισαγωγής * ? .
5

Ανοίξτε ένα μπλοκ try στη μέθοδο isValidDate σας . Μέσα σε αυτό το μπλοκ να δημιουργήσει μια νέα SimpleDateFormat ονομάζεται μορφή με την εμφάνιση μηνυμάτων , όπως την είσοδο με τον κατασκευαστή του

try { format SimpleDateFormat = νέα SimpleDateFormat ( μορφή) ? .
Η 6

Καλέστε format.setLenient ( false) για να εξασφαλιστεί ότι η συμβολοσειρά εισόδου θα αναλυθεί σωστά . Τώρα περνούν το string εισόδου σε format.parse ( ) και κλείστε το μπλοκ try . Η SimpleDateFormat θα προσπαθήσει να ταιριάζει με το string εισόδου παρέχονται εμφάνιση μηνυμάτων σας . Εάν η συμβολοσειρά εισόδου περιέχει μια μορφοποιηθεί σωστά την ημερομηνία , SimpleDateFormat θα ρίξει μια εξαίρεση

format.setLenient ( ψευδής) ? . Format.parse (input) ? }
Η 7

Έξω από το δοκιμάστε μπλοκ , πιάσει ParseException και IllegalArguementException . Επιστροφή false αν έχει συμβεί κάποια από αυτές τις εξαιρέσεις

αλιευμάτων ( ParseException ε) { επιστροφή ψευδείς? } . Αλιευμάτων ( IllegalArguementException ε) { επιστροφή ψευδείς? }
8

Εάν το πρόγραμμά σας έχει φτάσει σε αυτό το σημείο , η ημερομηνία εισόδου ήταν έγκυρη και μπορείτε να επιστρέψετε αλήθεια και να κλείσει τη μέθοδο σας

return true ? .
Η 9

Ενσωμάτωση της μεθόδου στο πρόγραμμά σας . Καλέστε isValidDate ( input ) για κάθε συμβολοσειρά εισόδου . Η μέθοδος θα επιστρέψει true αν η συμβολοσειρά εισόδου ταιριάζει με τη μορφή ημερομηνίας που καθορίζεται στο βήμα 3 .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα