使用户在输入错误格式的信息后再次输入:
boolean flag=false;
while(!flag)
{
Scanner string=new Scanner(System.in);
try
{
System.out.println("Please enter the Name:");
Name=string.nextInt();
System.out.println("Name:"+Name);
flag=true;
}
catch(Exception e)
{
System.out.println("Error! Please re-enter!");
}
//一旦在这里输入“string.close();”则下一个while循环就会无限丢异常??
}
try( Scanner string=new Scanner(System.in))是错误的,因为try后的()所包含的数据流,会在执行一次后被try关闭。
即会导致输入错误信息后无法再次输入,而会因flag==false而进入无限while循环状态。