0

我得到在编译时出现以下错误:我要赶InputMismatchException时,但它显示编译时错误

filimon.java:12: error: cannot find symbol 
       }catch(InputMismatchException ime){ 
        ^
    symbol: class InputMismatchException 
    location: class filimon 
1 error 

我的源代码是:

class filimon{ 
    public static void main(String[] args) { 
     Scanner s=new Scanner(System.in); 
     try{ 
      System.out.println("enter 2 integer values"); 
      int a=s.nextInt(); 
      int b=s.nextInt(); 
      System.out.println("value of a: "+a); 
      System.out.println("value of b: "+b); 
     }catch(InputMismatchException ime){ 
      System.err.println("please enter only number value"); 
     } 
     catch(Exception e){ 
      System.err.println(e); 
     } 
    }//main 
}//filimon 

问题是什么?请帮帮我。

+0

什么是您的进口? –

+0

毫无疑问,您还没有确定编译器包含哪些“InputMismatchException”类型。另外,你不处理这个异常,'catch(Exception e)'是一个反模式。请按照命名约定。 –

回答

0

Add import java.util.InputMismatchException;

0

Java无法找到InputMismatchException,因为它没有导入。

InputMismatchException是位于java.util

在你的文件的顶部,写

import java.util.InputMismatchException; 

只导入异常,或

import java.util.*; 

java.util进口的一切。

一点题外话,在

catch(Exception e) 

是不是一个好主意。最好列出您想要捕捉的每个异常,无论是在其自己的catch块中,还是如下所示:

catch(InputMismatchException|NoSuchElementException e){