回答編集履歴

1

追記

2022/06/14 05:04

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -24,4 +24,34 @@
24
24
  }
25
25
  }
26
26
  ```
27
+ **追記**
28
+ 質問にコードが追記されしたが、自分の書いたコードの各行の意味を理解していますか?
27
29
 
30
+ 「配列に格納するのはできますが」って言っているのに、配列には格納していません。
31
+
32
+ `String str = sc.nextLine();` で str に入る文字列は、"357" のような数字か、"exit" かです。
33
+ "exit" かどうか判定する前に Integer.parseInt(str) を実行したらダメなことが分かりませんか?
34
+ 数字だったとしても、それを sum に入れていいんですか?
35
+
36
+ Scanner の hasNextInt や next を使わずに nextLine と Integer.parseInt を
37
+ 使いたければ、次のようにすればよいでしょう。
38
+ ```Java
39
+ import java.util.Scanner;
40
+
41
+ class Main {
42
+ public static void main(String[] args) {
43
+ Scanner sc = new Scanner(System.in);
44
+ int[] n = new int[100];
45
+ int sum = 0;
46
+ for (int i = 0; i < n.length; i++) {
47
+ System.out.println("整数を入力");
48
+ String str = sc.nextLine(); // 文字列として入力
49
+ if (str.equals("exit")) break; // "exit" ならループを抜ける
50
+ n[i] = Integer.parseInt(str); // 数値に変換し配列に格納
51
+ sum += n[i]; // 合計値の更新
52
+ }
53
+ System.out.println(sum);
54
+ }
55
+ }
56
+ ```
57
+