###前提・実現したいこと
最初に二つの数を入力してもらい、その二数の積だけ整数値の入力を受け取るプログラムを書いていました。
例として、以下の値をコンソールにコピーアンドペーストしました。
3 3
1 2 -2
4 5 -1
7 3 6
この例だと3*3=9個の入力を受け取る(9個の入力は下の1,2,-2,4,5,-1,7,3,6です)
###発生している問題・エラーメッセージ
上手くsc.nextInt()が入力を受け取ってくれない
import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); Calc keisan = new Calc(); keisan.seki(n,m); sc.close(); } } class Calc{ void seki(int n, int m){ Scanner sc = new Scanner(System.in); int[] kazu = new int[n*m]; for(int i =0;i<n*m;i++){ kazu[i] = sc.nextInt(); } sc.close(); } } ```Java ###試したこと 発生している問題にある通り、上の書き方だと入力待ち(最下段の7 3 6だけは入力されてる)状態になってしまい 思ったように動きません。 この入力部分を全てメインメソッドに移して、呼び出す代わりにメインメソッド内で処理させると上手く動作しましたが、その理由がわかりません。 ###補足情報(言語/FW/ツール等のバージョンなど) Eclipseを使って勉強していました。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/01 14:53