回答編集履歴

1 追記

katoy

katoy score 21381

2018/01/21 18:06  投稿

計算処理、リトライ制御処理をなるべく分離させてみました。
main() が、ひと目で、 計算処理をリトライ判定が true を返すあいだ 繰返す実行することがわかる記述になってます。
また、リトライ判定の処理を変更する (各種メッセージの出力タイミングやメッセージ内容)の変更もしやすくなっています。
また、retory 処理部では、数字以外の文字を入れた場合にもエラーにならないようにしています。  
Chap2.java
```java
import java.util.Scanner;
public class Chap2 {
   public static void main(String[] args) {
       Scanner stdIn = new Scanner(System.in);
       do {
           task(stdIn);
       } while (retry(stdIn));
   }
   static void task(Scanner stdIn) {
       System.out.print("整数A ");
       int a = stdIn.nextInt();
       System.out.print("整数B ");
       int b = stdIn.nextInt();
       System.out.println("a+b=" + (a + b));
   }
   static boolean retry(Scanner stdIn) {
       while (true) {
           System.out.println("続けるなら1、やめるなら0");
           switch (stdIn.nextLine().trim()) {
           default:
               System.out.print("もう一度入力してください。");
               break;
           case "1":
               return true;
           case "0":
               System.out.println("終了します。");
               return false;
           }
       }
   }
}
```

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