首页 > 解决方案 > 在java中使用for循环和数组时写的return语句在哪里

问题描述

所以我将代码从主方法发送到一个方法来进行计算,我想再次返回数组值

gross[i] = process_g(rate, hours, overtime, emp_num);

process_g我写的方法中

 public static double process_g(double rate[], double hours[],double overtime[], int emp_num)
 {
  for(int i = 0; i < emp_num; i++)
  {
   return (rate[i] * hours[i]) + overtime[i];
  }
 }

但它一直给我一个错误,即缺少返回语句,我试图编辑它并使它像这样

 {
  double ret = 0;
  for(int i = 0; i < emp_num; i++)
  {
   ret = (rate[i] * hours[i]) + overtime[i];
  }
  return ret;
 }

这使程序正常工作,但它给了我 0 中的第一个数组gross[i]

标签: javaarraysmethods

解决方案


如果您希望您的方法返回一个双精度数组,那么它需要具有 return type double[],并且您需要编写一个返回数组而不是单个值的 return 语句。

也许这样的事情就是你所追求的:

public static double[] process_g(double rate[], double hours[],
                                 double overtime[], int emp_num) {
    double[] result = new double[emp_num];
    for (int i = 0; i < emp_num; i++) {
        result[i] = (rate[i] * hours[i]) + overtime[i];
    }
    return result;
}

然后你可以像这样使用它:

double[] gross = process_g(rate, hours, overtime, emp_num);

推荐阅读