練習問題

6.9 練習問題

 本章で習った内容を元に練習問題を解いて下さい。
 なお、練習問題のソースコードを作成する場合は、以下の条件で作成して下さい。

ソース・フォルダー :myproj_intro/src
パッケージ :jp.co.f1.intro.ch6exercise

問1 次の設問①~⑤ついて○か×で答えなさい。

① プログラムの処理を特定の条件で分岐させるには、if 文が利用できる。
② if 文の次には、else if 文を繋げることができる。
③ if または else ブロック内には、if 文を使用してはいけないというルールがある。
④ if 文の条件式に論理演算子を使用することで、複数の条件を設定できる。
⑤ 条件分岐をさせる文法は if 文以外には存在しない。

問2 次の設問①~⑥について、if 文の条件式に記述する場合どうなるか答えなさい。

① 変数xは 9 以下
② 変数xは 10 より大きい
③ 変数xは 5 と等しい
④ 変数xは 0 以上
⑤ 変数xは 5 ではない
⑥ 変数xは-1 より小さい

例 : 変数 a は 3 と等しい
if(a == 3)

問3 次の①~④の初期値について、if 文の条件式を満たすか満たさないか答えなさい。

初期値
① x = -1 y = -2
② x = 2 y = 1
③ x = 1 y = 1
④ x = 1 y = 2

if 構文
   if ( x < y ) {
      System.out.println(“条件を満たしています。”);
   } else {
      System.out.println(“条件を満たしていません。”);
   }

問4 次の if-else if-else 文の a,b,c に入る、正しい条件式の組み合わせを○か×で答えなさい。

条件式

① a. num < 10  b. num < 30  c. num < 50
② a. num <= 9  b. num <= 29  c. num <= 49
③ a. num < 11  b. num < 31  c. num < 51
④ a. num <= 10  b. num <= 30  c. num <= 50
⑤ a. num < 9  b. num < 29  c. num < 49

if-else if-else 構文

if ( a ) {
   System.out.println(“数値は 10 以下です。”);
} else if ( b ) {
   System.out.println(“数値は 30 以下です。”);
} else if ( c ) {
   System.out.println(“数値は 50 以下です。”);
} else {
   System.out.println(“数値は 51 以上です。”);
}

問5 次の実行結果になるプログラム Practice0601.java を作成しなさい。

実行結果


プログラム仕様

 キーボードより数値を入力してもらい、その数値が偶数か奇数か判定します。
 その結果で画面に出力するメッセージを変えます。

作成ヒント

 ・ キーボード入力は前章で学習した Scanner クラスを利用します。
  例)
  Scanner scan = new Scanner(System.in);
  int a = scan.nextInt();
 ・ 奇・偶数判定は if 文と演算子%を利用します。入力数値を 2 で割った余りが 0 なら偶数と判断出来ます。
 ・ 出力メッセージは入力数値と文字連結を行います。

問6 次の設問①~⑩について論理演算子を使って、if 構文に記述する条件式を答えなさい。

設問
① 変数 num は 0 以上かつ 9 以下
② 変数 num は 0 より小さいまたは 9 より大きい
③ 変数 num1 は 5 と等しいかつ変数 num2 は 999 と等しくない
④ 変数 char1 は’y’と等しいまたは変数 str1 は”yes”と等しい
⑤ 変数 month は 3 以上かつ 5 以下
⑥ 変数 month は 6 以上かつ 8 以下
⑦ 変数 month は 9 以上かつ 11 以下
⑧ 変数 month は 12 と等しいまたは 0 より大きいかつ 2 以下
⑨ 変数 i と w が等しくないかつ変数 num1 と num2 が等しい
⑩ 変数 a と x が等しいまたは変数bと y が等しいまたは変数 c と z が等しい

問7 次に示す Practice0602.java のプログラムを「switch 構文」に書き換えた Practice0603.java を作成しなさい。

➢ Practice0602.java

package jp.co.f1.intro.ch6exercise; 	

import java.util.Scanner; 
	
public class Practice0602 { 
    public static void main(String[] args) { 
       Scanner sin = new Scanner(System.in); 
       System.out.print("成績を入力(1~5)-->"); 
       int grade = sin.nextInt(); 
	
       if(grade == 1){ 
          System.out.println("もっと頑張りましょう!"); 
       }else if(grade == 2){ 
          System.out.println("もう少し努力が必要です。"); 
       }else if(grade == 3){ 
          System.out.println("さらに良い成績を目指しましょう。"); 
       }else if(grade == 4){ 
          System.out.println("良い成績です。"); 
       }else if(grade == 5){ 
          System.out.println("最高の成績です。"); 
       }else { 
          System.out.println("1~5 の数値を入力して下さい!"); 
       }
    }
}

問8 変数 a の値が 3 であった場合、次の演算の中で結果が false を返すものはどれか、選びなさい。

① a != 5
② ( a > 2 ) && ( a < 6 )
③ ( ( a != 5 ) || ( a <= 2 ) ) && ( ( a > 2 ) && ( a < 4 ) )
④ ( a > 2 ) && ( ( a > 6 ) || ( a < 1) )

NEXT>> 6.10 練習問題 解答