回答編集履歴

1

自己解決したようなので

2020/10/21 07:24

投稿

momon-ga
momon-ga

スコア4820

test CHANGED
@@ -18,4 +18,66 @@
18
18
 
19
19
 
20
20
 
21
- いうにコードを変更する必要があります。
21
+ ずれかのようにコードを変更する必要があります。
22
+
23
+
24
+
25
+ ```hava
26
+
27
+ public static void main(String[] args) {
28
+
29
+ Integer num1;
30
+
31
+ Integer num2;
32
+
33
+
34
+
35
+ try {
36
+
37
+ num1 = toInteger(args[0]);
38
+
39
+ num2 = toInteger(args[1]);
40
+
41
+
42
+
43
+ int sum = num1 + num2; // どちらかが整数でないなら、NullPointer
44
+
45
+ System.out.println(args[0] + "と" + args[1] + "の和は" + sum + "です。");
46
+
47
+
48
+
49
+ } catch (ArrayIndexOutOfBoundsException e) {
50
+
51
+ /* 引数存在チェック */
52
+
53
+ System.out.println("コマンドライン引数の数は2つにしてください。");
54
+
55
+ } catch (NullPointerException e) {
56
+
57
+ // エラーメッセージは表示済みなので何もしない
58
+
59
+ }
60
+
61
+
62
+
63
+ }
64
+
65
+
66
+
67
+ private static Integer toInteger(String a) {
68
+
69
+ try {
70
+
71
+ return Integer.parseInt(a);
72
+
73
+ } catch (NumberFormatException nfe) {
74
+
75
+ System.out.println("整数を入力してください:" + a);
76
+
77
+ return null;
78
+
79
+ }
80
+
81
+ }
82
+
83
+ ```