回答編集履歴

2

コード内変数名変更

2023/04/13 11:14

投稿

jimbe
jimbe

スコア12754

test CHANGED
@@ -48,10 +48,10 @@
48
48
  try {
49
49
  System.out.print(prompt);
50
50
  int value = Integer.parseInt(sc.next());
51
- String msg = validator == null ? null : validator.apply(value);
51
+ String errmsg = validator == null ? null : validator.apply(value);
52
- if(msg == null) return value;
52
+ if(errmsg == null) return value;
53
53
 
54
- System.out.println(msg);
54
+ System.out.println(errmsg);
55
55
  } catch(NumberFormatException e) {
56
56
  System.out.println("整数で入力してください");
57
57
  }

1

コードコメント追加

2023/04/13 11:06

投稿

jimbe
jimbe

スコア12754

test CHANGED
@@ -36,7 +36,13 @@
36
36
  }
37
37
  }
38
38
 
39
- //整数を入力
39
+ /**
40
+ * 整数を入力. validator が指定された場合は validator#apply() が null を返すまで再入力を行う
41
+ * @param sc Scanner オブジェクト
42
+ * @param prompt プロンプト
43
+ * @param validator バリデータ. 整数値に問題があった場合はエラーメッセージを返し, 問題が無かったら null を返す
44
+ * @return 入力した整数値
45
+ */
40
46
  private static int inputInt(Scanner sc, String prompt, Function<Integer,String> validator) {
41
47
  while(true) {
42
48
  try {