请问各位高手为什么报错可能尚未初始化变量b,但是我怎么觉的在if语句块内b肯定被初始化了,请各位指点我一下class TestPrime
{
public static boolean isPrime(int x)
{
boolean b;
for (int i = 2; i <= 15; i++)
{
if(x % i == 0)
{
b = false;
}
else
{
b = true;
}
}
return b;
}
}
{
public static boolean isPrime(int x)
{
boolean b;
for (int i = 2; i <= 15; i++)
{
if(x % i == 0)
{
b = false;
}
else
{
b = true;
}
}
return b;
}
}
2.楼上所说的类的数据成员,确实不用,因为他们有初始值,如果是对象引用的话,也就是
class a{
a(i){
........
}
}
public class b{
a XX=new a(1);
....
} 也就是构造器帮助初始化..这跟局部变量是不一个概念的.. 不明白在问啊.
boolean flag = false;
并不等价于:
boolean flag;
if(true) flag = false;
如果是在方法里面就一定要给初值!
public static void main(String[]args){ }
public static boolean isPrime(int x)
{
boolean b=false;
for (int i = 2; i <= 15; i++)
{
if(x % i == 0)
b = false;
else
b = true;
}
return b;
}