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:
java:42:错误:变量f可能尚未初始化如果(n=1||f==1(^1个错误
在.NET中,整数和其他值类型始终具有默认值。因此,在C#中,变量"f"的默认整数值为0。
我想Java是不同的。。。要消除这个编译错误,只需为f指定一个值即可。
例如:
int f = 0;
只需将其初始化为零。
static void isPrime (int n) {
int f=0;
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");
}