它现在要做的是要求用户输入一个字段编号,但是如果用户输入一个非整数,它只会陷入循环中,并且不会响应用户输入的任何内容。我希望它能够实际工作,我认为它在我的尝试/捕获中是有用的。由于有人可以帮助修复我的功能的逻辑吗?
代码:
public static int getFieldNumberFromUser(int maxValue)throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String data;
int fieldNumber;
boolean isInteger;
fieldNumber = 0;
isInteger = false;
while(isInteger == false)
{
System.out.print("Enter a field between 1 and " + maxValue + "(< zero to quit): ");
data = br.readLine();
try
{
fieldNumber = Integer.parseInt(data);
isInteger = true;
}
catch(NumberFormatException nfe)
{
System.out.println("You did not enter a valid integer");
}
}
return fieldNumber - 1;
}
如果输入一个非数字值什么shuld做 –
@ArunPJohny如果其非数字应该说你没有输入有效的整数,并再次询问用户。它是这样做的,但如果我在非数字值后输入一个数值,它只会持续重复 – mbridges
@mbridges:我没有看到代码中发生任何错误。我跑它,它似乎工作正常。 –