我试图从一个简单的 for 循环中返回一个 double。出于某种原因,我不断收到一条错误消息,指出该方法缺少返回语句。
这是我的代码:
public static double quantitytable(){
for(double x=1; x<=1000; x=x+100){
return x;
}
}
您的循环没有意义:一旦您返回,循环就结束了。本质上,您的程序等效于:
public static double quantitytable(){
return 1;
}
如果您想从一个方法返回多个项目,请返回一个数组或 Java 集合:
public static List<Double> quantitytable() {
List<Double> res = new ArrayList<Double>();
for(double x=1 ; x<=1000 ; x += 100) {
res.add(x);
}
return res;
}
在 Java 中,每个代码路径都必须返回一个值。编译器不会试图证明for
循环在所有情况下都会返回(即使我们可以告诉它确实如此),因此它认为控制可能会超过 for 循环的结尾(因此它需要循环return
后的语句for
) .
你知道你的代码会立即返回。而它在第一次迭代中
double x=1
for(; x<=1000; x+=100){
return x;}
}