回答編集履歴

1 ソースの修正案を追加

kazuma-s

kazuma-s score 6115

2020/06/23 23:50  投稿

数値の入力には Scanner を使うと便利ですよ。
メッセージのデータを配列で持つとこうなります。
```Java
import java.util.Scanner;
class Test {
   public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
       String msg[][] = {
           {
               "あなたの性別は男性ですね。\n"
               + "昨日はランニングをしましたか?\n"
               + "1:しました。2:していません。",
               "ランニングをしたんですね",
               "ランニングをしていないんですね",
               "1か2を入力してください。"
           }, {
               "あなたの性別は女性ですね。\n"
               + "昨日はショッピングに行きましたか?\n"
               + "1:行きました。2:行きませんでした。",
               "ショッピングに行ったんですね",
               "ショッピングに行ってないんですね",
               "1か2を入力してください。"
           }
       };
       System.out.println("あなたの性別はなんですか?\n1:男性、2:女性");
       int sex = sc.nextInt();
       if (sex != 1 && sex != 2)
           System.out.println("1か2を入力してください。");
       else {
           System.out.println(msg[--sex][0]);
           int n = sc.nextInt();
           if (n == 1 || n == 2)
               System.out.println(msg[sex][n]);
           else
               System.out.println(msg[sex][3]);
       }
   }
}
```  
**追記**  
ちょっと修正。  
```Java  
       if (sex != 1 && sex != 2)  
           System.out.println(msg[0][3]);  
       else {  
           System.out.println(msg[--sex][0]);  
           int n = sc.nextInt();  
           if (n != 1 && n != 2) n = 3;  
           System.out.println(msg[sex][n]);  
       }  
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る