如果这种带有选择结构的返回值,你必须确保每一个可能到达的分支都有return语句。
此例中,即使你能够一眼看出来程序必会进入for循环中,之后必会返回一个布尔值。
但是在编译期,Java编译器是不具备这种能力的。所以,编译器报错,以保证所有路径都能有一个返回值。
忽略其他代码,经过分析:
其实for循环是没有必要的。因为只要进入for循环,程序在第一次循环中必会产生返回值。故此处循环只能执行一轮。
所以编译器提示 "n++"为"Dead code"(死代码,无用的代码)。
参考:
class A {
boolean f(int x) {
double n = x * 1.0, t;
t = Math.sqrt(n * 1.0);
if ((x * 1.0) % n == 0.0)
return true;
else
return false;
}
}
***************************************希望能够帮助到你!**********************************************
如果我的回答对你有帮助,
别忘了点击我的回答下方【选为满意答案】按钮。
谢谢!
不要用double类型,用int类型判断是不是素数。
class SuShuJudge
{
static boolean isSuShu(int paramInt)
{
if (paramInt <= 1) return false;
if (paramInt == 2) return true;
for (int i = 2; i <= (int)Math.sqrt(paramInt); i++)
if (paramInt % i == 0) return false;
return true;
}
}
给你个例子:
public class PrimeNum{
static boolean isPrime(int x){
for(int n=2; n
return false;
}
return true;
}
public static void main(String[] args){
for(int i=101;i<201;i++){
if(isPrime(i)==true)
System.out.printf(" %d",i);
}
}
}
简化一下。