// 階段の電灯は各階にスイッチがあり、どの階のスイッチを操作しても、点灯・消灯ができる // ように作られています。3階の建物の階段を考えます。各階に1つずつ左右に倒す形式の // スイッチが設置されているとしましょう。電灯は階段全体を照らすものが1系統あるとします。 // このシステムをシミュレートするクラスLightSystemを作成し、また動作を確認する(実験を // する)mainメソッドをもつクラスSample20も作成しなさい。 // // void turnSwitch1(), void turnSwitch2(), void turnSwitch3() // それぞれの番号の階のスイッチを操作する // // void showState() // 各階のスイッチの状態(どちらに倒れているか)と、電灯の点灯・消灯を表示する // //参考 4路スイッチ.gif // // import java.io.*; class Lightsystem { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[] Switch = {0, 0, 0}; String jotai = ""; int turn = 0; void turnSwitch1() { System.out.print("1階のスイッチの状態を入力してください 「右」or 「左」 : "); try { jotai = br.readLine(); } catch (NumberFormatException e) { System.out.println("入力データが不正です"); System.exit(1); } catch (IOException e) { System.out.println("入力時にエラーがありました"); System.exit(1); } if (jotai.equals("右")) { Switch[0] = 1; } else { Switch[0] = 0; } } void turnSwitch2() { System.out.print("2階のスイッチの状態を入力してください 「右」or 「左」 : "); try { jotai = br.readLine(); } catch (NumberFormatException e) { System.out.println("入力データが不正です"); System.exit(1); } catch (IOException e) { System.out.println("入力時にエラーがありました"); System.exit(1); } if (jotai.equals("右")) { Switch[1] = 1; } else { Switch[1] = 0; } } void turnSwitch3() { System.out.print("3階のスイッチの状態を入力してください 「右」or 「左」 : "); try { jotai = br.readLine(); } catch (NumberFormatException e) { System.out.println("入力データが不正です"); System.exit(1); } catch (IOException e) { System.out.println("入力時にエラーがありました"); System.exit(1); } if (jotai.equals("右")) { Switch[2] = 1; } else { Switch[2] = 0; } } void showState() { for (int i = 0; i < 3; i++) { turn *= 10; if (Switch[i] == 0) { System.out.println(i + 1 + "階のスイッチは左に倒れています。"); } else { System.out.println(i + 1 + "階のスイッチは右に倒れています。"); } turn += Switch[i]; } switch (turn) { case 111: case 100: case 10: case 1: turn = 1; break; default: turn = 0; break; } switch (turn) { case 1: System.out.println("点灯"); break; default: System.out.println("消灯"); } } } class Sample20 { public static void main(String[] args) { Lightsystem test = new Lightsystem(); test.turnSwitch1(); test.turnSwitch2(); test.turnSwitch3(); test.showState(); } }