Java编译错误“找不到变量”持续存在

时间:2018-10-08 15:38:02

标签: java error-handling exception-handling

我是Java编程的新手,因为遇到术语“测试用例”时我正在学习一些理论。现在,当您甚至没有一个可靠的工作程序但我想从小做起时,我就认为考虑测试用例毫无意义。

所以我写了一个非常基本的程序来检查编号。偶数或奇数。 我在其中添加了一个异常处理块。

这是代码

import java.util.Scanner;
import java.util.InputMismatchException;

class eveodd 
    {
    public static void main (String []args)
    {
        int num;
        System.out.println("Enter the no. ");

        try 
        {
            Scanner a = new Scanner(System.in);
            num=a.nextInt();
        }
        catch (InputMismatchException e) 
        {
            System.out.println("Please only enter an integer"); 
        } 
        finally 
        {
        num=a.nextInt();
        }

        if (num%2==0)
        {
            System.out.println(" No. entered is an Even No. ");
        }

        else
        {   
            System.out.println("No. entered is a Odd no. ");
        }   
    }
}   

这是输出:

enter image description here

请告诉我如何解决此问题。 请修改代码并使该部分加粗

谢谢:)

1 个答案:

答案 0 :(得分:0)

afinally子句中超出范围。您应在try-catch-finally块之前 声明它,如

Scanner a = new Scanner(System.in);
try {
    num=a.nextInt();
} catch (InputMismatchException e) {
    System.out.println("Please only enter an integer"); 
} finally {
    num=a.nextInt();
}