为了让我的程序更简化(无需到处尝试并捕捉),我试图创建一个用于获取数据的独立方法。我也有一个用于双打和弦乐。 由于某些原因,当我尝试使用此方法时,它完全被忽略,并且像评论一样传递。有什么我做错了吗?扫描仪不停止阅读输入
public int inputint(){
Scanner sc = new Scanner (System.in);
int variable = 0;
boolean valid = true;
do{
try{
if (variable >= 0 && valid){
}
else if(valid){
System.out.print("Please enter positive values only: ");
}
valid = true;
}
catch (InputMismatchException e){
System.out.print("Please enter numerical values only: ");
sc = new Scanner(System.in);
valid = false;
}
}while (!valid || variable < 0);
return variable;
}
不要编辑你的问题来包含答案 - 这就是*答案*的用途。而且您不需要将标题更改为“已解决”。 –