我应该编写一些允许用户输入输入的东西,这些输入应该是一系列整数,用空格分隔,没有非数字/非空格字符。
最好的方法是什么?我是否将整个字符串以某种方式拆分为一个数组并检查每个字符串?
您可能想要Scanner
专门为此使用Scanner.nextInt()
and Scanner.hasNextInt()
。
查看文档,但是使用扫描仪可以轻松地从输入中获取标记化的整数,并将它们解析为int
s !
这是我用的
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;
}
代码片段中有错误。
1]虽然在java中不允许初始化。
2] 该方法应返回一个 int 数组。因此,您执行 hasNextInt 并将 nextInt 存储在数组中。