Bereiche in Schleifen
Teil des Abschnitts Grundlagen der Kotlin-Journey von Coddy. Lektion 51 von 93.
Bisher haben wir 1..5 verwendet, um Bereiche zu erstellen, die in Einerschritten aufwärts zählen. Kotlin bietet flexiblere Möglichkeiten, Bereiche für deine Schleifen zu definieren.
Um rückwärts zu zählen, verwende downTo:
for (i in 5 downTo 1) {
println(i)
}
// Ausgabe: 5, 4, 3, 2, 1Um Zahlen zu überspringen, füge step hinzu, um das Inkrement zu steuern:
for (i in 0..10 step 2) {
println(i)
}
// Ausgabe: 0, 2, 4, 6, 8, 10Du kannst downTo mit step kombinieren, um rückwärts mit benutzerdefinierten Intervallen zu zählen:
for (i in 10 downTo 1 step 3) {
println(i)
}
// Ausgabe: 10, 7, 4, 1Wenn du den letzten Wert ausschließen musst, verwende until anstelle von ..:
for (i in 1 until 5) {
println(i)
}
// Ausgabe: 1, 2, 3, 4Das Schlüsselwort until ist besonders nützlich bei der Arbeit mit nullbasierten Indizes, bei denen du häufig anhalten musst, bevor du eine bestimmte Zahl erreichst.
Aufgabe
MittelLies zwei Ganzzahlen aus der Eingabe: start und end.
Gib alle geraden Zahlen von start abwärts bis end (einschließlich) aus, jeweils in einer eigenen Zeile.
Verwende downTo mit step, um den Bereich zu erstellen. Wenn start ungerade ist, beginne mit der ersten geraden Zahl darunter.
Wenn die Eingabe beispielsweise lautet:
10
2Die Ausgabe sollte lauten:
10
8
6
4
2Wenn die Eingabe lautet:
9
3Die Ausgabe sollte lauten:
8
6
4Wenn es im angeforderten Bereich keine geraden Zahlen gibt, gib No even numbers in einer Zeile aus. Andernfalls gib jede gerade Zahl in einer eigenen Zeile aus.
Probier es selbst
fun main() {
// Eingabe lesen
val start = readLine()!!.toInt()
val end = readLine()!!.toInt()
// TODO: Schreibe deinen Code darunter
// Verwende downTo mit step, um alle geraden Zahlen von start bis end abwärts auszugeben
// Wenn start ungerade ist, beginne mit der ersten geraden Zahl darunter
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorErweiterte ZuweisungVergleichsoperatorenRückblick – Einfache Mathematik7Grundlegende Ein-/Ausgabe
println-FunktionString-VorlagenReadLine-EingabeTypkonvertierungWiederholung – Jahre bis zur RenteWiederholung – Wahr oder falsch10Funktionen
Eine Funktion deklarierenParameter und ArgumenteRückgabewerteBenannte ArgumenteStandardwerteFunktionen mit einem AusdruckRückblick – Sigma-FunktionRückblick – Validierungsfunktion2Variablen
Val vs VarTypinferenzZahlenStringBooleanNamenskonventionenRückblick – Variablen initialisieren5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Logische Operatoren Teil 3Ternär mit If-AusdruckWiederholung – Einfache Logik8Rechner zum Aufteilen der Rechnung
WillkommensnachrichtEingaben erfassen11FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion3Nullbarkeit
Was ist Null-Sicherheit?Nullable-TypenOperator für sicheren AufrufElvis-OperatorGrundlagen der FunktionsaufgabeAssertion auf Nicht-NullRückblick – Sicherer Zugriff6Entscheidungen treffen
If-AnweisungIf - ElseIf als AusdruckWhen-AusdruckWhen mit BereichenRückblick - Einfacher Taschenrechner9Schleifen
For-SchleifeWhile-SchleifeDo-While-SchleifeBreakContinueBereiche in SchleifenVerschachtelte SchleifeRückblick – FakultätRückblick – Dynamische EingabeÜbe selbstständig: Kotlin-Playground