問1:数の大小を表示する条件分岐
整数をx,yというint型の変数にコンソール上で入力し、xがyよりも大きい場合は
「xはyよりも大きい」
xがyよりも小さい場合は
「xがyよりも小さい」
xとyの値が同じ場合は
「xとyの値が同じ場合」
とコンソールに表示するプログラムを作成しなさい。
コンソールに値入力するためには、下記のソースを使ってください。
1 2 3 4 |
BufferedReader br = new BufferedReader(new InputStreamReader( System.in ) ); System.out.println( "xの値を入力してください" ); int x = Integer.parseInt( br.readLine() ); |
問2:正負の奇数か偶数を判定するプログラム
整数をxのint型の変数にコンソール上で入力し、
それがプラスの値だった場合「正の数の奇数か偶数か」
マイナスの値を入力した場合「負の数の奇数か偶数か」
を判定するプログラムを作成しなさい。
問3:月の日数を表示するプログラム
コンソールに月の値(1~12)を入力して
1月から12月までの日数を表示するプログラムを作成しなさい。
また、1~12以外の数字を入力した場合、「入力が間違っています」とコンソールに表示しなさい。
条件分岐構文として「switch文」を使用しなさい。
答えはこちら
答え
問1:数の大小を表示する条件分岐
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
package javalogic; import java.util.Scanner; public class JavaLogic2_1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int x = 0; int y = 0; int a = 0; int b = 0; do { System.out.println("xを入力してください。"); String s_x = sc.next(); try{ x = Integer.parseInt(s_x); //入力してもらったs_xの値を数字に変換 a=0; //xが数字によく変換させたから、aをまた0で初期化 }catch(NumberFormatException e) { a = 1; //数字で変換する過程でエラーが発生した時、aを1に変える。 System.out.println("xを数字で入力してください。"); } }while(a==1); //aが1、つまりcatch文が実行されたら継続反復 do { System.out.println("yを入力してください。"); String s_y = sc.next(); try{ y = Integer.parseInt(s_y); //入力してもらったs_yの値を数字に変換 b=0; //yが数字によく変換させたから、bをまた0で初期化 if(x>y) System.out.println("xはyより大きい。"); //xとyの値が全部数字で入力されたから、結果出力 else if(x<y) System.out.println("xがyより小さい。"); else System.out.println("xとyの値が同じだ。"); }catch(NumberFormatException e) { b = 1; //数字で変換する過程でエラーが発生した時、bを1に変える。 System.out.println("yを数字で入力してください。"); } }while(b==1); //bが1、つまりcatch文が実行されたら継続反復 } } |
問2:正負の奇数か偶数を判定するプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
package javalogic; import java.util.Scanner; public class JavaLogic2_2 { public static void main(String[] args) { int a =0; Scanner sc = new Scanner(System.in); do { try { System.out.println("xの値を入力してください。"); String s_x = sc.next(); int x = Integer.parseInt(s_x); a=0; //正の数/負の数区分 if(x>=0) { //2で割ったとき、残りが0なら偶数、1なら奇数 if(x%2==0) { System.out.println("正の数の偶数"); } else { System.out.println("正の数の奇数"); } }else { if(x%2==0) { System.out.println("負の数の偶数"); } else { System.out.println("負の数の奇数"); } } }catch(NumberFormatException e) { a=1; System.out.println("xを数字で入力してください。"); } }while(a==1); } } |
問3:月の日数を表示するプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
package javalogic; import java.util.Scanner; public class JavaLogic2_3 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("月を入力してください"); int month = sc.nextInt(); String day = ""; switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: day="31日"; break; case 2: day="28일"; break; case 4:case 6:case 9:case 11: day="30日"; break; default: day="入力が間違っています。"; } System.out.println(day); } } |
コメント