コマンドライン入力として整数の行を取得したいと思います。しかし、ユーザーが入力する整数の数はわかりません。では、スキャナーオブジェクトを適切なタイミングで停止するにはどうすればよいですか。whileループで使用できるhasNext()のようなメソッドはありますか?例:私の入力は次のようになります:
2 3 4 5
or
9 1 3 4 5 6
コマンドライン入力として整数の行を取得したいと思います。しかし、ユーザーが入力する整数の数はわかりません。では、スキャナーオブジェクトを適切なタイミングで停止するにはどうすればよいですか。whileループで使用できるhasNext()のようなメソッドはありますか?例:私の入力は次のようになります:
2 3 4 5
or
9 1 3 4 5 6
次のように使用できScanner
ます。
Scanner scan=new Scanner(System.in);
String input=scan.readLine();
String[] nums=input.split();
int[] numbers=nums.length;
for(int i=0;i<nums.length;i++){
numbers[i]=Integer.parseInt(nums[i]);
}
このコードは全体String
を入力として受け取り、それらを分割してに変換しますInteger
String.split()を使用して、入力されたすべての入力の配列を簡単に取得できます。例えば:
String[] input = in.nextLine().split();
その後、必要に応じて各要素にアクセスできます。お役に立てば幸いです。