https://paiza.io/ja ← サイトを開いてください。
今回はfor応用を学習したいと思います。
以前学んだifと組み合わせると、ループをコントロール出来ます。
forとif
【 サンプル 】 fun main() { for(i in 1..5){ println("勇者は${ i }回目の攻撃をした!") } } 【 修正後 】 fun main() { for(i in 1..5){ if( i == 4 ){ println( "勇者は様子を見た…") } else { println("勇者は${ i }回目の攻撃をした!") } } }
forを抜ける
【 修正前 】 fun main() { for(i in 1..5){ if( i == 4 ){ println( "勇者は様子を見た…") } else { println("勇者は${ i }回目の攻撃をした!") } } } 【 修正後 】 fun main() { for(i in 1..5){ if( i == 4 ){ println( "勇者は様子を見た…") break } else { println("勇者は${ i }回目の攻撃をした!") } } }
ドラゴンが火を吐く
【 サンプル 】 fun main() { var hp:Int = 300 // HP(体力) for(i in 1..5){ println("ドラゴンが火を吐いた!") hp -= 100 println("勇者は100のダメージ!(HP:${ hp })") } }
IFの追加
【 サンプル 】 fun main() { var hp:Int = 300 // HP(体力) for(i in 1..5){ println("ドラゴンが火を吐いた!") hp -= 100 println("勇者は100のダメージ!(HP:${ hp })") if( hp <= 0){ println("勇者は倒れた…") break } } }
練習問題1
以下の???を修正して、プログラムを完成させてください。
【 修正前 】 fun main() { var ans:Int = 0 // 合計金額 for(i in 1..5){ ans += 380 println("勇者は${???}個目のイチゴ買いました。") println("合計金額は${???}円です。") } } 【 実行結果 】 勇者は1個目のイチゴ買いました。 合計金額は380円です。 勇者は2個目のイチゴ買いました。 合計金額は760円です。 勇者は3個目のイチゴ買いました。 合計金額は1140円です。 勇者は4個目のイチゴ買いました。 合計金額は1520円です。 勇者は5個目のイチゴ買いました。 合計金額は1900円です。
練習問題2
以下のプログラムの???を修正してプログラムを完成させてください。
【 修正前 】 fun main() { var ans:Int = 0 // 合計金額 for(i in 1..5){ ans += 380 println("魔法使いは${i}個目のイチゴ買いました。") println("合計金額は${ans}円です。") if( ??? ){ println("1000円超えたので買うのを止めました。") ??? } } } 【 実行結果 】 魔法使いは1個目のイチゴ買いました。 合計金額は380円です。 魔法使いは2個目のイチゴ買いました。 合計金額は760円です。 魔法使いは3個目のイチゴ買いました。 合計金額は1140円です。 1000円超えたので買うのを止めました。
まとめ
・今回はforにif、breakなどを組み合わせました。
・ifは条件分析で、breakはループを抜ける命令です。
・組み合わせが無数に出来るので、理解より慣れを優先してください。