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はループを抜ける命令です。
・組み合わせが無数に出来るので、理解より慣れを優先してください。