質問の内容に入る前に、デバッグはどのように行っていますでしょうか?
ステップ実行を活用したり、処理の途中で変数の値を出力してみたりしていますでしょうか?
そのようなデバッグをすれば、おのずとバグに気付けると思います。
条件式を何度抱えて実行してみたのですがelseの処理が行われていませんでした。
for文の条件が2までで常にif (i <= 2)
という条件を満たしており、elseの処理に入らなくなっているように思われます。
追記
2以下と3以上で処理を分けたい時は、
if (i <= 2){
//処理
}
else if (i >= 3){
//処理
}
ではなく、
if (i <= 2){
//処理
}
else{
//処理
}
でいいと思います。
1Like