回答編集履歴
2
コード内変数名変更
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
コードコメント追加
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 {
|