練習問題 |
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
さあ、if文のまとめに
練習問題をやろう。
さっきのif文の例を
拡張してくれ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
もー、ゲーム
じゃないってば。 |
 |
|
|
|
|
 |
|
 |
|
練習問題 1 |
|
問1:次の処理を
プロジェクト名:KotoTest4の if文の例(if、else if、else)
に追加し、実行結果にメッセージを表示しなさい。 |
|
|
もし |
yuushaExp が 700以上 で |
且つ |
yuushaExp が 800以下 なら |
|
次のメッセージを表示する。
「エクストラレベルアップ!!!」 |
|
|
|
|
|
|
 |
|
 |
|
|
 |
|
 |
|
if文の例(if、else if、else)(KotoTest4のKNMain.java)17行目~ |
|
・・・ |
|
|
|
017 |
|
public static void
main(String[] args) { |
|
018 |
|
// TODO code
application logic here |
|
019 |
|
|
|
020 |
|
//変数 yuushaExpをint型で宣言。0に初期化 |
|
021 |
|
int
yuushaExp
= 0; |
|
022 |
|
|
|
023 |
|
//もしyuushaExpが 1000以上 なら |
|
024 |
|
if(yuushaExp
>= 1000){ |
|
025 |
|
//レベルアップ!メッセージを表示 |
|
026 |
|
System.out.println("レベルアップしました!"); |
|
027 |
|
|
|
028 |
|
//もしyuushaExpが 900以上 なら |
|
029 |
|
}else
if(yuushaExp >= 900){ |
|
030 |
|
//あと少し!もう少しメッセージを表示 |
|
031 |
|
System.out.println("あともう少し! "
+ |
|
032 |
|
"経験値:"
+ yuushaExp); |
|
033 |
|
|
|
045 |
|
//それ以外なら |
|
046 |
|
}else{ |
|
047 |
|
//レベルアップまでまだまだ!がんばれメッセージを表示 |
|
048 |
|
System.out.println("もっとがんばれ! "
+ |
|
049 |
|
"経験値:"
+ yuushaExp); |
|
050 |
|
} |
|
051 |
|
|
|
052 |
|
System.out.println("全処理終わり"); |
|
053 |
|
} |
|
054 |
|
|
|
・・・ |
|
|
|
|
問題の処理を追加して下さい。 |
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
すごーい!
特別にレベルアップする
ゾーンがあるんだ!
絶対この経験値範囲、
狙わないとっ! |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
だからあー、
ゲーム
じゃないって。 |
 |
|
 |
いーの!
ポイントが
いくつの敵を
倒したら
なるのかなー |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
えーと、まず
「yuushaExp が 700以上なら」
の条件だから・・・
「900以上なら」より下に
書かないとだめなんだよね?
順番的に・・・大きい順だよね? |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
もー、違うー。
独り言だもんー |
 |
|
 |
なに?
ギブ? |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
もし、
「yuushaExp が 700以上なら」を
「900以上なら」より上に書いたら・・・
この例を見てみろ。
700の方が小さいからね。
yuushaExp にどんな値を入れても
「900以上なら」の処理は実行され
なくなるよ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
えー!
レベルアップできなく
なっちゃうんだー。
今回の判定の仕方なら
大きい数の判定ほど
上に書けばいいんだね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
これも慣れな。
最初のうちは
しっかり悩んどけ。 |
 |
|
 |
そうなんだー。
難しいー!
なんとなくしか
分からないけど・・・ |
|
|

|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
うーん、うーん・・・
それから・・・
「かつ」ってことは、
両方の条件を「同時に」判定しないと
ダメって事なんでしょ・・・?
if文だと、たくさん条件式は書けても、
一つづつしか判定できないんだよね。
うーん・・・
どうやってやればいいんだろう・・・ |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
ふふーん
がんばれんじゃー。 |
 |
|
 |
うーんと、
うーんと、
難しいなあー。 |
|
|
|
|
|
 |
|
 |
|
練習問題1:解答(KotoTest4のKNMain.java)17行目~ |
|
・・・ |
|
|
|
017 |
|
public static void
main(String[] args) { |
|
018 |
|
// TODO code
application logic here |
|
019 |
|
|
|
020 |
|
//変数 yuushaExpをint型で宣言。750に初期化 |
|
021 |
|
int
yuushaExp
= 750; |
|
022 |
|
|
|
023 |
|
//もしyuushaExpが 1000以上 なら |
|
024 |
|
if(yuushaExp
>= 1000){ |
|
025 |
|
//レベルアップ!メッセージを表示 |
|
026 |
|
System.out.println("レベルアップしました!"); |
|
027 |
|
|
|
028 |
|
//もしyuushaExpが 900以上 なら |
|
029 |
|
}else
if(yuushaExp >= 900){ |
|
030 |
|
//あと少し!もう少しメッセージを表示 |
|
031 |
|
System.out.println("あともう少し! "
+ |
|
032 |
|
"経験値:"
+ yuushaExp); |
|
033 |
|
|
|
034 |
|
//もしyuushaExpが 700以上 なら |
|
035 |
|
}else
if(yuushaExp >= 700){ |
|
036 |
|
//もしyuushaExpが 800以下 なら |
|
037 |
|
if(yuushaExp
<= 800){ |
|
038 |
|
//特別レベルアップ!メッセージを表示 |
|
045 |
|
System.out.println("エクストラレベルアップ!!!"); |
|
046 |
|
} |
|
047 |
|
//それ以外なら |
|
048 |
|
}else{ |
|
049 |
|
//レベルアップまでまだまだ!がんばれメッセージを表示 |
|
050 |
|
System.out.println("もっとがんばれ! "
+ |
|
051 |
|
"経験値:"
+ yuushaExp); |
|
052 |
|
} |
|
053 |
|
} |
|
054 |
|
|
|
・・・ |
|
|
|
|
黄色の部分が追加・改変部分です。
書き写して実行して下さい。 |
|
|
 |
|
 |
|
 |
実行結果(出力ウィンドウ) |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
おー、いい感じじゃね。
yuushaExp
を750にしてるから
実行結果もちゃんと表示
出来てるし。
2つの条件に合った場合に
実行される処理もできてるしな。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
えへへ
if文の中にif文を書いたの。
これなら両方の条件を
満たしてるでしょ?
かつ だよね?だめ? |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
ああ、それでいいんだよ。
この練習問題の重要な点は、
条件2つを満たす場合のみ
実行される処理のやり方だ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
でも、今回は2つのifを使ったけど
論理演算子を使えば
1つのif文に複数の条件を
書くことも出来るんだ。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
条件式
いっぱい
書けるんだ。 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
論理演算子は
他の演算子と組み合わせることで
いろいろ柔軟な判定ができる。
じゃあ、次は
論理演算子を見ていこう。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
 |
なんか
便利そうー |
|
|