Menu
Coddy logo textTech

Die Wendung hinzufügen

Teil des Abschnitts Grundlagen der Kotlin-Journey von Coddy. Lektion 66 von 93.

challenge icon

Aufgabe

Mittel

In der vorherigen Lektion hast du die obere Grenze dynamisch gemacht, indem du sie aus der Eingabe liest. Füge nun die Erweiterung hinzu, indem du auch die Teiler anpassbar machst!

Ändere deinen Code so, dass er:

  1. Drei Ganzzahlen aus der Eingabe liest:
    • n – die obere Grenze
    • fizzDivisor – der Teiler für "Fizz"
    • buzzDivisor – der Teiler für "Buzz"
  2. Deine fizzBuzz-Funktion so aktualisiert, dass sie drei Parameter akzeptiert: die zu prüfende Zahl, den Fizz-Teiler und den Buzz-Teiler
  3. Von 1 bis n durchläuft und für jede Zahl das Ergebnis mithilfe der benutzerdefinierten Teiler ausgibt

Aktualisierte Funktionssignatur:

fun fizzBuzz(num: Int, fizzDiv: Int, buzzDiv: Int): String

Rückgabelogik (wie zuvor, aber mit benutzerdefinierten Teilern):

  • "FizzBuzz", wenn die Zahl durch beide Teiler teilbar ist
  • "Fizz", wenn die Zahl nur durch fizzDiv teilbar ist
  • "Buzz", wenn die Zahl nur durch buzzDiv teilbar ist
  • Andernfalls die Zahl als Zeichenkette

Eingabe: Drei Ganzzahlen in separaten Zeilen – die obere Grenze, der Fizz-Teiler und der Buzz-Teiler

Ausgabe: Das angepasste FizzBuzz-Ergebnis für jede Zahl von 1 bis n, jeweils in einer eigenen Zeile

Einschränkungen der Eingabe: Beide Teiler sind positive Ganzzahlen. Die Anzahl liegt zwischen 1 und 100.

Probier es selbst

fun fizzBuzz(n: Int): String {
    return if (n % 3 == 0 && n % 5 == 0) {
        "FizzBuzz"
    } else if (n % 3 == 0) {
        "Fizz"
    } else if (n % 5 == 0) {
        "Buzz"
    } else {
        n.toString()
    }
}

fun main() {
    val n = readLine()!!.toInt()
    for (i in 1..n) {
        println(fizzBuzz(i))
    }
}

Alle Lektionen in Grundlagen

Übe selbstständig: Kotlin-Playground