在线java编译显示这样的错误

时间:2018-11-25 12:52:54

标签: java online-compilation

static void isPrime (int n) 
 {      int f;
        for(int i=2;i<=Math.sqrt(n);i++)
        {
            if(n % i == 0)
            {
                f = 1;
            }
        }
        if(n == 1 || f == 1)
        {
            System.out.println("No"); 
        }
        else
         System.out.println("Yes");

 }

编译错误

Compilation Error:

prog.java:42:错误:变量f可能尚未初始化             if(n == 1 || f == 1)                          ^ 1个错误

2 个答案:

答案 0 :(得分:2)

在.NET中,整数和其他值类型始终具有默认值。因此,在C#中,变量'f'的默认整数值为0。

我想Java是不同的...要摆脱此编译错误,只需为f分配一个值。

例如:

int f = 0;

答案 1 :(得分:0)

只需将f初始化为零即可。

vector<bool>