Java-如果输入不是整数,如何重新编译用户
如果输入的值不是整数,我想重新提示(noofcases)用户。我对java比较新。请建议我最好的方法,我可以重新提示(noofcases)用户再次输入整数值,直到用户输入整数值Java-如果输入不是整数,如何重新编译用户,java,Java,如果输入的值不是整数,我想重新提示(noofcases)用户。我对java比较新。请建议我最好的方法,我可以重新提示(noofcases)用户再次输入整数值,直到用户输入整数值 public static void main(String[] args) { fetchinput(); } public static void fetchinput() { int noofcases = 0; Scanner input= new Scanner(System.in);
public static void main(String[] args)
{
fetchinput();
}
public static void fetchinput()
{
int noofcases = 0;
Scanner input= new Scanner(System.in);
noofcases=input.nextInt();
ArrayList<String> StringA = new ArrayList<String>();
ArrayList<String> StringB = new ArrayList<String>();
for (int i=0;i<noofcases;i++)
{
StringA.add(input.next());
StringB.add(input.next());
}
input.close();
System.out.println(StringA);
System.out.println(StringB);
}
publicstaticvoidmain(字符串[]args)
{
fetchinput();
}
公共静态void fetchinput()
{
int noofcases=0;
扫描仪输入=新扫描仪(System.in);
noofcases=input.nextInt();
ArrayList StringA=新的ArrayList();
ArrayList StringB=新的ArrayList();
对于(inti=0;i尝试在Try{}catch(numberformatexe)中使用Integer.parse()转换输入字符串当一个新的输入请求发生异常时,打印到System out。其余的是再次读取相同的输入流。如果您希望,您可以在while循环中执行此操作,或者在一个变量中计算失败次数以中止。我倾向于使用以下方法:
public int getNextInt(String promptMessage) {
Integer ret; //We use Integer so it can be null
do {
System.out.println(promptMessage);
String str = in.nextLine(); //nextLine is cleaner and doesn't get caught on newline characters
try {
ret = Integer.parseInt(str);
catch(NumberFormatException e) { //Invalid
System.out.println("Input an integer.");
}
} while(ret==null); //Loop while invalid
return ret; //Return result, unboxed
}