为了使我的程序更加精简(没有到处尝试和捕获),我尝试创建一个单独的方法来获取数据。我也有一个用于双打和弦乐的。出于某种原因,当我尝试使用此方法时,它被完全忽略,并像评论一样传递。有什么我做错了吗?
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;
}