解决方案 »

  1.   

    看看你try里面写得东西
             try
                 {
                     System.out.println("key in a integer");
                     x=input.nextInt();
                     flag=false;
                 }
    之所以死循环是因为try中的这句话flag=false;之前报错,也就是System.out.println("key in a integer");
                     x=input.nextInt();
    这里面的其中一句有错。因而导致你的 flag一直为true。从而造成了死循环
      

  2.   

     try
                {
                    System.out.println("key in a integer");
                    x=input.nextInt();
                   
                }
                catch (InputMismatchException e)
                {
                    System.out.println("Only Integer,try again");
     flag=false;
                }
      

  3.   

    我的意思是想说,为什么程序在再次执行try语句时没有在x=input.nextInt()这一句停下来,而是陷入了死循环
    我就是想让当程序输入不是整数时一直循环,等待下次输入
      

  4.   

    如果你想做这种功能的话,可以通过线程Thread试试
      

  5.   

    写在try{      }里面的代码如果其中某句代码出错,这句错误代码后面的代码都不会被执行到,然后会直接执行catch{       }中的代码