teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コード追加

2020/03/19 05:10

投稿

jimbe
jimbe

スコア13355

answer CHANGED
@@ -2,4 +2,28 @@
2
2
 
3
3
  switch の {} の中で 1 つのスコープとなっていますので, 複数の case 内で同じ変数の定義が記述されれば "すでに定義されている" となります.
4
4
 
5
- 同じ原因で, case 内で定義された変数は switch の {} の外では効きませんので, print の個所で "シンボルを見つけられません" となります.
5
+ 同じ原因で, case 内で定義された変数は switch の {} の外では効きませんので, print の個所で "シンボルを見つけられません" となります.
6
+
7
+ #追加
8
+ どちらかの入門書のサンプルのようにも見えますが, このような場合は配列を用いられると良いかと思います.
9
+ ```java
10
+ import java.util.*;
11
+ public class part03 {
12
+ private static final String[] FORTUNE = {"大吉!", "中吉!", "凶!", "大凶!"};
13
+ private static final String[] COLOR = {"青", "赤", "黄色", "緑"};
14
+ public static void main(String[]args){
15
+ System.out.println("今からあなたを占いましょう");
16
+ System.out.println("氏名を漢字で入力してください。");
17
+ String name = "";
18
+ try(Scanner scanner = new Scanner(System.in);) {
19
+ name = scanner.nextLine();
20
+ }
21
+ System.out.println(name + "さんですね。");
22
+ Random random = new Random();
23
+ int r = random.nextInt(FORTUNE.length); //0-3
24
+ System.out.println("あなたの運勢は…"+FORTUNE[r]);
25
+ int p = random.nextInt(COLOR.length); //0-3
26
+ System.out.println("ラッキーカラーは"+COLOR[p]+"です!");
27
+ }
28
+ }
29
+ ```