Iterowanie po ciągach znaków P1
Część sekcji Podstawy ścieżki Kotlin w Coddy. Lekcja 76 z 93.
Podobnie jak listy, ciągi znaków można iterować znak po znaku za pomocą pętli for. W Kotlinie ciąg znaków to w zasadzie sekwencja znaków, więc można zastosować ten sam wzorzec iteracji.
val word = "Hello"
for (char in word) {
println(char)
}
// Wynik:
// H
// e
// l
// l
// oKażda iteracja daje Ci pojedynczy Char z ciągu znaków. Jest to przydatne, gdy musisz sprawdzić lub przetworzyć każdy znak osobno, na przykład policzyć określone litery lub utworzyć nowy ciąg znaków na podstawie określonych warunków.
val text = "Kotlin"
var count = 0
for (char in text) {
if (char == 'o' || char == 'i') {
count++
}
}
println(count) // 2Możesz też użyć withIndex() na ciągach znaków, aby uzyskać zarówno pozycję, jak i znak, tak jak w przypadku list:
val name = "Ada"
for ((index, char) in name.withIndex()) {
println("$index: $char")
}
// Wynik:
// 0: A
// 1: d
// 2: aWyzwanie
ŚredniWczytaj ciąg znaków z wejścia i policz, ile zawiera samogłosek (a, e, i, o, u). Uwzględnij samogłoski zarówno małe, jak i wielkie.
Przejdź przez każdy znak w ciągu i sprawdź, czy jest samogłoską. Wyświetl łączną liczbę znalezionych samogłosek.
Format wejścia:
- Jeden ciąg znaków
Format wyjścia:
Wyświetl jedną liczbę całkowitą oznaczającą liczbę samogłosek w ciągu.
Podpowiedź: Możesz zamienić każdy znak na małą literę za pomocą lowercaseChar() przed sprawdzeniem albo sprawdzać osobno oba warianty.
Spróbuj swoich sił
fun main() {
// Wczytaj dane wejściowe
val text = readLine()!!
// TODO: Napisz poniżej kod, który policzy samogłoski w ciągu znaków
// Wyświetl wynik
println(count)
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory – część 1
Operatory arytmetyczneOperator moduloPrzypisanie z operatoremOperatory porównaniaPowtórka – proste działania matematyczne7Podstawowe wejście/wyjście
Funkcja printlnSzablony ciągów znakówWczytywanie danych przez ReadLineKonwersja typówPowtórka — lata do emeryturyPowtórka — prawda czy fałsz10Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneArgumenty nazwaneWartości domyślneFunkcje z pojedynczym wyrażeniemPowtórka – funkcja SigmaPowtórka – funkcja walidująca13Iterowanie po sekwencjach
Iterowanie po elementachMetoda WithIndexIterowanie po ciągach znaków P1Iterowanie po ciągach znaków P2Podsumowanie — indeksowane litery2Zmienne
Val a VarWnioskowanie o typieLiczbyŁańcuch znakówWartość logicznaKonwencje nazewnictwaPowtórzenie – inicjalizacja zmiennych5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Operatory logiczne, część 3Operator trójargumentowy z wyrażeniem ifPowtórka — prosta logika8Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych11FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz3Obsługa wartości null
Czym jest bezpieczeństwo nullTypy dopuszczające nullOperator bezpiecznego wywołaniaOperator ElvisPodstawy wyzwania z funkcjamiAsercja wartości niebędącej nullPodsumowanie — bezpieczny dostęp6Podejmowanie decyzji
Instrukcja ifIf - elseIf jako wyrażenieWyrażenie whenWhen z zakresamiPowtórka — prosty kalkulator9Pętle
Pętla forPętla whilePętla do-whileBreakContinueZakresy w pętlachPętla zagnieżdżonaPowtórka – silniaPowtórka – dynamiczne wprowadzanie danychPoćwicz samodzielnie: Edytor online Kotlin