Σε αυτό το πρόγραμμα, θα μάθετε να αντιστρέφετε μια δεδομένη πρόταση χρησιμοποιώντας έναν επαναληπτικό βρόχο στο Kotlin.
Παράδειγμα: Αντιστρέψτε μια πρόταση χρησιμοποιώντας αναδρομή
fun main(args: Array) ( val sentence = "Go work" val reversed = reverse(sentence) println("The reversed sentence is: $reversed") ) fun reverse(sentence: String): String ( if (sentence.isEmpty()) return sentence return reverse(sentence.substring(1)) + sentence(0) )
Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:
Η αντίστροφη πρόταση είναι: krow oG
Στο παραπάνω πρόγραμμα, έχουμε μια αναδρομική συνάρτηση reverse()
.
Σε κάθε επανάληψη, προσθέτουμε (συνένωση) το αποτέλεσμα της επόμενης reverse()
συνάρτησης στον πρώτο χαρακτήρα της πρότασης που χρησιμοποιεί charAt(0)
.
Η αναδρομική κλήση πρέπει να είναι πριν από το charAt()
, γιατί με αυτόν τον τρόπο οι τελευταίοι χαρακτήρες θα αρχίσουν να προστίθενται στην αριστερή πλευρά. Εάν αντιστρέψετε τη σειρά, θα καταλήξετε στην αρχική πρόταση.
Στο τέλος, καταλήγουμε με μια κενή πρόταση και reverse()
επιστρέφουμε την αντίστροφη πρόταση.
Επανάληψη | ΑΝΤΙΣΤΡΟΦΗ() | υπόστρωμα () | αντίστροφη συμβολοσειρά |
---|---|---|---|
1 | αντίστροφη ("Go work") | "o Εργασία" | αποτέλεσμα + "G" |
2 | αντίστροφη ("o Work" | " Εργασία" | αποτέλεσμα + "o" + "G" |
3 | αντίστροφη ("Εργασία") | "Εργασία" | αποτέλεσμα + "" + "o" + "G" |
4 | αντίστροφη ("Εργασία") | "ork" | αποτέλεσμα + "W" + "" + "o" + "G" |
5 | αντίστροφη ("ork") | "rk" | αποτέλεσμα + "o" + "W" + "" + "o" + "G" |
6 | αντίστροφη ("rk") | "κ" | αποτέλεσμα + "r" + "o" + "W" + "" + "o" + "G" |
7 | αντίστροφη ("k") | "" | αποτέλεσμα + "k" + "r" + "o" + "W" + "" + "o" + "G" |
Τελικός | ΑΝΤΙΣΤΡΟΦΗ("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" |
Εδώ είναι ο αντίστοιχος κώδικας Java: Πρόγραμμα Java για αντιστροφή μιας πρότασης