Σε αυτό το πρόγραμμα, θα μάθετε να ελέγχετε εάν το δεδομένο έτος είναι έτος άλματος ή όχι στο Kotlin. Αυτό ελέγχεται χρησιμοποιώντας μια δήλωση if else και μια δήλωση όταν.
Ένα άλμα έτος διαιρείται ακριβώς με 4 εκτός από τα έτη αιώνα (έτη που τελειώνουν με 00). Το έτος του αιώνα είναι ένα άλμα έτος μόνο εάν είναι τέλεια διαιρούμενο με 400.
Παράδειγμα 1: Πρόγραμμα Kotlin για έλεγχο ενός άλματος έτους χρησιμοποιώντας δήλωση if else
fun main(args: Array) ( val year = 1900 var leap = false if (year % 4 == 0) ( if (year % 100 == 0) ( // year is divisible by 400, hence the year is a leap year leap = year % 400 == 0 ) else leap = true ) else leap = false println(if (leap) "$year is a leap year." else "$year is not a leap year.") )
Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:
Το 1900 δεν είναι άλμα.
Στο παραπάνω πρόγραμμα, το δεδομένο έτος 1900 αποθηκεύεται στη μεταβλητή χρονιά.
- Δεδομένου ότι το 1900 διαιρείται με 4 και είναι επίσης ένα έτος αιώνα (τελειώνει με 00), διαιρείται με 400 για ένα άλμα. Δεδομένου ότι δεν διαιρείται με 400, το 1900 δεν είναι άλμα.
- Αλλά, αν αλλάξουμε το έτος σε 2000, μπορεί να διαιρεθεί με 4, είναι ένα έτος αιώνα και επίσης διαιρείται με 400. Έτσι, το 2000 είναι ένα άλμα έτος.
- Ομοίως, εάν αλλάξουμε το έτος σε 2012, μπορεί να διαιρεθεί με 4 και δεν είναι ένα έτος αιώνα, έτσι το 2012 είναι ένα άλμα. Δεν χρειάζεται να ελέγξουμε αν το 2012 διαιρείται με 400 ή όχι.
Εδώ είναι ο ισοδύναμος κώδικας Java: Πρόγραμμα Java για έλεγχο του Leap Year
Παράδειγμα 2: Πρόγραμμα Kotlin για έλεγχο του Leap Year χρησιμοποιώντας την έκφραση
fun main(args: Array) ( val year = 2012 var leap = false leap = when ( year % 4 == 0 -> ( when ( year % 100 == 0 -> year % 400 == 0 else -> true ) ) else -> false ) println(if (leap) "$year is a leap year." else "$year is not a leap year.") )
Κατά την εκτέλεση του προγράμματος, η έξοδος θα είναι:
Το 2012 είναι ένα άλμα.
Στο παραπάνω πρόγραμμα, αντί να χρησιμοποιήσουμε μια δήλωση if else, χρησιμοποιήσαμε μια έκφραση όταν.
Η when
έκφραση λειτουργεί ως:
- Όταν το έτος διαιρείται με 4
- Εισάγεται μια άλλη
when
έκφραση που ελέγχει εάν το έτος διαιρείται με 100- Εάν ναι, ελέγχει ξανά εάν το έτος διαιρείται με 400 ή όχι και επιστρέφει
true
ήfalse
- Εάν ναι, ελέγχει ξανά εάν το έτος διαιρείται με 400 ή όχι και επιστρέφει
- Εάν δεν διαιρείται με 100, το έτος δεν είναι ένα έτος αιώνα (τελειώνει με 00) και επιστρέφει
true
- Εισάγεται μια άλλη
- Εάν το έτος δεν διαιρείται με 4, επιστρέφει
false
Με βάση την τιμή του άλματος, εκτυπώνει την έξοδο χρησιμοποιώντας ένα ενσωματωμένο αν αλλιώς.