如何解决InputMismatchException?

时间:2014-10-12 03:56:05

标签: java inputmismatchexception

package exercises;
import java.util.*;

public class Try_and_catch {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);
        int x=1;
        do
        {   
            System.out.println("Enter first number");
            int n1 = input.nextInt();
            System.out.println("Enter second number");
            int n2 = input.nextInt();
            int sum= n1/n2;
            System.out.println(sum);
        } while(x==1);
    }
}

上面的代码只需输入整数,我的问题是如何在用户输入字符时处理错误?

1 个答案:

答案 0 :(得分:0)

使用try块:

boolean again = true;
int n1;
while (again) {
  try {
    System.out.println("Enter first number");
    input.nextInt();
    again=false;
  }
  catch(InputMismatchException ime)
  {
    // do nothing!
  }
}

这里发生的事情非常简单:如果我们得到例外,那么"再次"没有设置为true,我们回到循环中。如果我们在没有例外的情况下离开try块,那么再次切换,我们就快乐地走了。