前提・実現したいこと
こちらが記述したコードに対して、オンラインサイトから値が与えられて、計算結果や出力結果を判定するサイトで問題を解いています。
Scannerで値を受け取るのですが、N個の整数がa_1,a_2と半角スペース区切りで与えられます。a_Nの和を求めたいのですが、出力はできますが、和の求め方が分かりません。
該当のソースコード
java
1import java.util.*; 2 3 4public class Main { 5 public static void main(String[] args) { 6 // 自分の得意な言語で 7 // Let's チャレンジ!! 8 9 Scanner sc = new Scanner(System.in); 10 int N = sc.nextInt(); 11 for(int i = 0; i<= N; i++){ 12 int a = sc.nextInt(); 13 System.out.println(a); 14 } 15 } 16}
試したこと
この状態ですとaに与えられた値が出力されるのは分かるのですが、
import java.util.*; public class Main { public static void main(String[] args) { // 自分の得意な言語で // Let's チャレンジ!! Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int sum = 0; for(int i = 0; i<= N; i++){ int a = sc.nextInt(); sum += a; } System.out.println(sum); } }
としたときに
Exception in thread "main" java.util.NoSuchElementException
at java.base/java.util.Scanner.throwFor(Scanner.java:937)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
at Main.main(Main.java:13)
このようなエラーが出てしまいます。
aを全て足していくにはどうすればよいでしょうか。
また、問題文を抜粋していますが、a_1,a_2についてもよくわかっていません。
変数aがfor文で毎回上書きされているという認識でよいのでしょうか。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー