前提
数字を取得して合計するクラス(以降 Sumクラス)と
Sumクラスを使うmainクラスの両方でScannerクラスのインスタンスを作成しています。
実現したいこと
・SumクラスとMainクラスの両方でScannerクラスのnextInt()メソッドを使用したいです。
発生している問題・エラーメッセージ
Exception in thread "main" java.util.NoSuchElementException at java.base/java.util.Scanner.throwFor(Scanner.java:941) at java.base/java.util.Scanner.next(Scanner.java:1598) at java.base/java.util.Scanner.nextInt(Scanner.java:2263) at java.base/java.util.Scanner.nextInt(Scanner.java:2217) at Main.sum(Main.java:49) at Main.main(Main.java:42)
該当のソースコード
Java
1public class Main { 2 3 public static void main(String[] args) { 4 Scanner sc = new Scanner(System.in); 5 int h = sc.nextInt(); 6 int w = sc.nextInt(); 7 sum(); 8 } 9 10 public static int sum(){ 11 12 int sum=0; 13 Scanner sc = new Scanner(System.in); 14 sum = sc.nextInt(); 15 16 System.out.println("sum="+sum); 17 return sum; 18 } 19}
試したこと
Overview (Java Platform SE 8 )を呼んだのですが、解決方法が分かりませんでした。
「各種のアクセッサ・メソッドによってスローされ、リクエストされている要素が存在しないことを示します。」
と記載がありましたが、入力はちゃんと行っております。
Scannerクラスのインスタンを両メソッドで生成しているのが間違いでしょうか?
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

回答2件
あなたの回答
tips
プレビュー