Java:switch文の練習問題 [勉強]
REDSTONEで、しゃくれテイマ(Lv550)が遺跡4連秘密ダンジョンの後半(0時発)を待つ間に、職業訓練で使用している教科書の4章「for文」の練習問題でもやろうかなぁ~ってページをペラペラめくってみたら・・・・・・すでに訓練中にやっていた問題ばかりでした。
さらに、以前「for文で閏年判定」とかのブログ記事をUPしていたし・・・5章「switch文」の練習問題を自分なりに解いてみますね。
といっても・・・
やはり、5章「switch文」の練習問題も、ほぼ訓練中にやっていました。
唯一やっていなかったのが、これ。
問題5-7:
「はじめに、『0~6の数字を入力してください。対応した曜日を表示します。』と表示し、キーボードから0~6の数字を入力すると、その数字に応じて「日曜日」「月曜日」・・・「土曜日」と表示して終了するプログラムを作りなさい。0~6以外の数字の入力があった場合には『0~6の範囲で入力してください』と表示して終了させ、数字以外の入力があった場合には『数字を入力してください』と表示して終了する」
さて・・・自分なりに書いてみますかねぇ。
以下、練習問題5-7に対する回答ソースです。
import java.io.*;
public class Weekday {
public static void main(String[] args) {
BufferedReader kbd = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.print("0~6の数字を入力してください。対応した曜日を表示します。 :");
int num = Integer.parseInt(kbd.readLine());
switch (num) {
case 0:
System.out.println("日曜日");
break;
case 1:
System.out.println("月曜日");
break;
case 2:
System.out.println("火曜日");
break;
case 3:
System.out.println("水曜日");
break;
case 4:
System.out.println("木曜日");
break;
case 5:
System.out.println("金曜日");
break;
case 6:
System.out.println("土曜日");
break;
default:
System.out.println("0~6の範囲で入力してください");
break;
}
} catch (IOException e) {
System.out.println(e);
} catch (NumberFormatException e) {
System.out.println("数字を入力してください。");
}
}
}
これ以上スッキリしたソースは私には書けません。(^-^;
switch文の章だし、if文は前の章(4章)で習っていますが、if文で書くよりスマートで、処理速度も速いのかな??
・・・ということで、switch文を使った練習問題は終了ーーー。
switch文はif文より高速に実行できるけど、switch文の分岐条件は整数値(int型)でしかできないという制限があるらしいです。って、char型でも分岐できたけど・・・・・・(^-^;
「'」(シングルクォーテーション)で囲った文字は数値扱いなのかな??
次回は、for文の練習問題に挑戦しようかなぁ~って思ったけど・・・ほぼ訓練中にやっている感じがするなぁ・・・。
まぁ、ちょっとだけやってみますよ。
と、REDSTONEで遊びながらJava javaしてる しゃくれアゴでした。
(このブログ記事は遺跡4連秘密後半も終了した後で書いてます。)
晩安&再見! (^-^)ノシ
コメント 0