ユーザーが、スペースで区切られた一連の整数である入力を、非数字/非スペース文字を使用せずに入力できるようにするプログラムを作成することになっています。
これを行う最善の方法は何ですか?文字列全体を取得して、何らかの方法で配列に分割し、それぞれをチェックしますか?
ユーザーが、スペースで区切られた一連の整数である入力を、非数字/非スペース文字を使用せずに入力できるようにするプログラムを作成することになっています。
これを行う最善の方法は何ですか?文字列全体を取得して、何らかの方法で配列に分割し、それぞれをチェックしますか?
Scanner
これにはand 特にScanner.nextInt()
andを使用することをお勧めしますScanner.hasNextInt()
。
ドキュメントを見てください。ただし、スキャナーを使用すると、トークン化された整数を入力から簡単に取得でき、それらをint
s に解析します!
コード スニペットにエラーがあります。
1] Java では初期化が許可されません。
2] メソッドは int の配列を返す必要があります。したがって、hasNextInt を実行し、nextInt を配列に格納します。
これは私が使ったものです
int getInputInt(){
final Scanner keyboard = new Scanner(System.in);
int inputInt = 0;
boolean continueLoop = true;
while( continueLoop = true ) {
try{
inputInt= keyboard.nextInt();
continueLoop = false;
break;
} catch ( InputMismatchException e ) {
keyboard.nextLine();
out.println("That key is not an integer. Try again");
}
}
return inputInt;
}