2

我试图从一个简单的 for 循环中返回一个 double。出于某种原因,我不断收到一条错误消息,指出该方法缺少返回语句。

这是我的代码:

public static double quantitytable(){

    for(double x=1; x<=1000; x=x+100){    
           return x;
    }

}
4

3 回答 3

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;
}
于 2012-10-26T01:40:34.877 回答
2

在 Java 中,每个代码路径都必须返回一个值。编译器不会试图证明for循环在所有情况下都会返回(即使我们可以告诉它确实如此),因此它认为控制可能会超过 for 循环的结尾(因此它需要循环return后的语句for) .

于 2012-10-26T01:42:14.970 回答
1

你知道你的代码会立即返回。而它在第一次迭代中

double x=1 
      for(; x<=1000; x+=100){    
               return x;}

    }
于 2012-10-26T01:39:26.310 回答