数値のループ処理
CoddyのKotlinジャーニー「基礎」セクションの一部。レッスン 65/93。
チャレンジ
中級前のレッスンでは、1つの数値に対して適切な文字列を返す fizzBuzz 関数を作成しました。ここでは、15をハードコーディングする代わりに入力から上限値を読み取り、プログラムを動的にしましょう。
コードを次のように変更してください:
- 入力から整数
n(上限値)を読み取る - 1から
nまで(nを含む)ループする - 各数値に対して
fizzBuzz関数を呼び出し、結果を出力する
既存の fizzBuzz 関数は変更しないでください。引き続き次の値を返す必要があります:
- 3と5の両方で割り切れる場合は
"FizzBuzz" - 3でのみ割り切れる場合は
"Fizz" - 5でのみ割り切れる場合は
"Buzz" - それ以外の場合は数値を文字列として返す
入力: 上限値を表す単一の整数
出力: 1から n までの各数値に対するFizzBuzzの結果。それぞれを別の行に出力する
自分で試してみよう
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() {
for (i in 1..15) {
println(fizzBuzz(i))
}
}基礎のすべてのレッスン
自分で練習してみよう: Kotlinプレイグラウンド