モーニングクエスト?
次のクイズを元に問題が指しているメンバーを探してほしい、とりあえず参考情報だ。
名前 | 年齢 | 生年 | 身長 |
---|---|---|---|
高橋愛 | 23 | 1986 | 153 |
新垣里沙 | 21 | 1988 | 154 |
亀井絵里 | 20 | 1988 | 157 |
道重さゆみ | 20 | 1989 | 160 |
田中れいな | 19 | 1989 | 152 |
久住小春 | 17 | 1992 | 163 |
光井愛佳 | 16 | 1993 | 154 |
ジュンジュン | 21 | 1988 | 168 |
リンリン | 18 | 1991 | 153 |
これは今回参考になるであろう表だ、最初の条件だ。
- 年齢は19歳以下、かつ生年が1988年以下。
これをJavaにするとこうなる、
class java_study_15{
public static void main(String args[]){
int age,f_year ;
age = * ;
f_year = * ;
/* 両方共trueならばTrue */
if(age <= 20 && f_year >= 1988){
System.out.println("マッチするのは愛ちゃん、ガキさんジュンジュンかな") ;
}else{
System.out.println("当てはまるのは愛ちゃん、ガキさんジュンジュン以外かなぁ") ;
}
とりあえず説明を、さてまずは2つの条件に両方ともマッチするパターンだね。
今回は「&&」を使いましたよ、これはさっきの文章の「かつ」にあたる。
いわば「両方の条件が合わないとだめ」ってことだ。
ここで今回の条件を思い出そう、条件は?
年齢は20歳以下、かつ生年が1988年以下。
そうだ、だからまずは変数を宣言する必要がある。
Javaだとデータ型で定義するんでしたね、ifの上の
int age,f_year ;
でやります、「,」は複数のデータ型が同じ変数を定義するときに便利ですよ。
ageには年齢を、f_yearには生年を入れます。
値を入れたら答えがわかるのでここでは「*」としましたよ。
とりあえず、年齢を「19か20」としてください。
そして生年を「1989」としてください。
そうすると結果は?
たぶんこう表示されるはずです
マッチするのは愛ちゃん、ガキさんジュンジュン以外かな
この時点でこの3人は当てはまらないので表から消しましょう
名前 | 年齢 | 生年 | 身長 |
---|
|高橋愛|23|1986|153|
|新垣里沙|21|1988|154|
亀井絵里 | 20 | 1988 | 157 |
道重さゆみ | 20 | 1989 | 160 |
田中れいな | 19 | 1989 | 152 |
久住小春 | 17 | 1992 | 163 |
光井愛佳 | 16 | 1993 | 154 |
|ジュンジュン|21|1988|168|
リンリン | 18 | 1991 | 153 |
条件
- 身長は153以下、または157以上だ
とりあえずソースコードを
int tall = * ;
if(tall <= 153 || tall => 157){
System.out.println("まだ、絞れないな") ;
}else{
System.out.println("みっついだな") ;
}
これは「どっちかの条件に合えばok」になります、今の条件は
「身長が153以下、または157以上」
となります、とりあえずどっちにも合わないということでみっついの所は消去です
名前 | 年齢 | 生年 | 身長 |
---|
|高橋愛|23|1986|153|
|新垣里沙|21|1988|154|
亀井絵里 | 20 | 1988 | 157 |
道重さゆみ | 20 | 1989 | 160 |
田中れいな | 19 | 1989 | 152 |
久住小春 | 17 | 1992 | 163 |
|光井愛佳|16|1993|154|
|ジュンジュン|21|1988|168|
リンリン | 18 | 1991 | 153 |
とりあえず値はどっちかに合えばいいので、152にしておきました。
この時点で答がわかりますがスルーで。
そして、また変数の宣言をしないといけない。
その「どっちか」は「||」になるぞぉ。