Πρόγραμμα Kotlin για μέτρηση του αριθμού φωνηέντων και συμφώνων σε μια πρόταση

Σε αυτό το πρόγραμμα, θα μάθετε να μετράτε τον αριθμό των φωνηέντων, σύμφωνα, ψηφίων και διαστημάτων σε μια δεδομένη πρόταση στο Kotlin.

Παράδειγμα 1: Πρόγραμμα μέτρησης φωνηέντων, συμφώνων, ψηφίων και κενών

 fun main(args: Array) ( var line = "This website is aw3som3." var vowels = 0 var consonants = 0 var digits = 0 var spaces = 0 line = line.toLowerCase() for (i in 0… line.length - 1) ( val ch = line(i) if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') ( ++vowels ) else if (ch in 'a'… 'z') ( ++consonants ) else if (ch in '0'… '9') ( ++digits ) else if (ch == ' ') ( ++spaces ) ) println("Vowels: $vowels") println("Consonants: $consonants") println("Digits: $digits") println("White spaces: $spaces") )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Φωνήεντα: 6 σύμφωνα: 11 ψηφία: 3 λευκά κενά: 3

Στο παραπάνω παράδειγμα, έχουμε 4 προϋποθέσεις για καθέναν από τους ελέγχους.

  • Το πρώτο αν η συνθήκη είναι να ελέγξετε αν ο χαρακτήρας είναι φωνήεν ή όχι.
  • Το άλλο αν η συνθήκη ακολουθεί αν είναι να ελέγξετε αν ο χαρακτήρας είναι σύμφωνος ή όχι. Η σειρά θα πρέπει να είναι η ίδια διαφορετικά, όλα τα φωνήεν αντιμετωπίζονται επίσης ως σύμφωνα.
  • Η 3η συνθήκη (else-if) είναι να ελέγξετε αν ο χαρακτήρας είναι μεταξύ 0 και 9 ή όχι.
  • Τέλος, η τελευταία συνθήκη είναι να ελέγξετε αν ο χαρακτήρας είναι διαστημικός χαρακτήρας ή όχι.

Για αυτό, μειώσαμε τη γραμμή χρησιμοποιώντας toLowerCase(). Αυτή είναι μια βελτιστοποίηση που δεν έγινε για να ελέγξετε για κεφαλαία Α έως Ζ και φωνήεντα.

Έχουμε χρησιμοποιήσει τη length()συνάρτηση για να γνωρίζουμε το μήκος της συμβολοσειράς και charAt()να πάρουμε τον χαρακτήρα στο δεδομένο ευρετήριο (θέση).

Εδώ είναι ο αντίστοιχος κώδικας Java: Πρόγραμμα Java για την καταμέτρηση του αριθμού φωνηέντων και συμφώνων σε μια πρόταση.

Παράδειγμα 2: Πρόγραμμα για τη μέτρηση φωνηέντων, συμφώνων, ψηφίων και διαστημάτων χρησιμοποιώντας πότε

 fun main(args: Array) ( var line = "This website is aw3som3." var vowels = 0 var consonants = 0 var digits = 0 var spaces = 0 line = line.toLowerCase() for (i in 0… line.length - 1) ( val ch = line(i) when (ch) ( 'a', 'e', 'i', 'o', 'u' -> ++vowels in 'a'… 'z' -> ++consonants in '0'… '9' -> ++digits ' ' -> ++spaces ) ) println("Vowels: $vowels") println("Consonants: $consonants") println("Digits: $digits") println("White spaces: $spaces") )

Η έξοδος του προγράμματος είναι ίδια με το Παράδειγμα 1.

Εδώ, μπορείτε να δείτε ότι χρησιμοποιήσαμε μια απλή whenέκφραση για να καταργήσουμε τη if-elseδήλωση. Αυτό κάνει τον κώδικα πολύ λιγότερο και ευκολότερο να κατανοηθεί επίσης.

ενδιαφέροντα άρθρα...