我试图从一个简单的for循环中返回一个double。出于某种原因,我不断收到一条错误消息,指出该方法缺少一个return语句。
这是我的代码:
public static double quantitytable(){
for(double x=1; x<=1000; x=x+100){
return x;
}
}
答案 0 :(得分:5)
你的循环没有意义:一旦你返回,循环就结束了。从本质上讲,您的计划等同于:
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;
}
答案 1 :(得分:2)
在Java中,每个代码路径都必须返回一个值。编译器并不试图证明for
循环在所有情况下都会返回(即使我们可以告诉它),因此它认为控制可以超过for循环的结束(因此它需要一个return
循环后的for
语句。
答案 2 :(得分:1)
您的代码将立即返回,您知道。而它在第一次迭代中
double x=1
for(; x<=1000; x+=100){
return x;}
}