变量结果可能尚未初始化

时间:2018-04-20 11:21:16

标签: java

错误显示在最后一行

  

::::变量结果可能尚未初始化

这是我的代码:

public static void main(String args[]){
    int n1, n2, result;
    char oper;
    n1=1000;
    n2=200;
    oper= '+';

    if(oper == '+')
        result=n1+n2;
    else if(oper == '-')
        result= n1-n2;
    else if(oper == '*')
        result= n1*n2;
    else if(oper == '/')
        result= n1/n2;
    else if(oper == '%')
        result= n1%n2;

    System.out.println("Answer: "+result);
}

2 个答案:

答案 0 :(得分:1)

你的第一行应该是:

int n1, n2, result=0;

result变量未初始化,也无法从代码中计算出来,因此编译器认为它不会找到变量的值。因此它给出了编译错误。

答案 1 :(得分:1)

您需要了解导致此错误的原因:

  1. 对于方法的局部变量,Java保证变量在使用之前已正确初始化。

  2. 如果result子句都没有得到满足,变量if-else if可能会错过初始化。请注意,在此变量else

  3. 中使用之前,您尚未在更新变量result时添加任何System.out.println("Answer: "+result);子句。