Verschachtelte Schleife
Teil des Abschnitts Grundlagen der Kotlin-Journey von Coddy. Lektion 52 von 93.
Du kannst eine Schleife innerhalb einer anderen Schleife platzieren, um eine verschachtelte Schleife zu erstellen. Die innere Schleife wird für jede Iteration der äußeren Schleife vollständig ausgeführt.
for (i in 1..2) {
for (j in 1..3) {
println("i=$i, j=$j")
}
}
// Ausgabe:
// i=1, j=1
// i=1, j=2
// i=1, j=3
// i=2, j=1
// i=2, j=2
// i=2, j=3Wenn i 1 ist, wird die innere Schleife dreimal ausgeführt (j läuft von 1 bis 3). Dann wird i zu 2, und die innere Schleife wird drei weitere Male ausgeführt. Das ergibt insgesamt 2 × 3 = 6 Iterationen.
Verschachtelte Schleifen werden häufig verwendet, um Muster zu erstellen oder mit gitterartigen Strukturen zu arbeiten:
for (row in 1..3) {
for (col in 1..row) {
print("*")
}
println()
}
// Ausgabe:
// *
// **
// ***Hier hängt der Bereich der inneren Schleife von der Variablen der äußeren Schleife ab, wodurch ein Dreiecksmuster entsteht. Die Funktion print() gibt ohne Zeilenumbruch aus, während println() nach jeder Zeile in die nächste Zeile wechselt.
Aufgabe
MittelLies eine Ganzzahl n aus der Eingabe. Verwende verschachtelte Schleifen, um eine Multiplikationstabelle für die Zahlen von 1 bis n auszugeben.
Gib für jede Zeile i von 1 bis n die Produkte i * 1, i * 2, ..., i * n, durch Leerzeichen getrennt, gefolgt von einem Zeilenumbruch, aus.
Wenn die Eingabe beispielsweise 3 lautet, sollte die Ausgabe wie folgt aussehen:
1 2 3
2 4 6
3 6 9Wenn die Eingabe 4 lautet, sollte die Ausgabe wie folgt aussehen:
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16Verwende print() mit einem Leerzeichen, um Werte in derselben Zeile auszugeben, und println(), um zur nächsten Zeile zu wechseln.
Probier es selbst
fun main() {
// Eingabe lesen
val n = readLine()!!.toInt()
// TODO: Schreibe deinen Code darunter
// Verwende verschachtelte Schleifen, um die Multiplikationstabelle auszugeben
// Verwende print() mit einem Leerzeichen für Werte in derselben Zeile
// Verwende println(), um zur nächsten Zeile zu wechseln
}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