我试图编写平均数组的代码。我一直收到一个return语句错误和主类丢失错误。请帮忙。
public class ArrayAverage {
public static double average(double[] x){
// declare and intialize array to hold value
int[] numbers = new int[]{1, 2, 3 ,4, 5};
//calculate sum of all array elements
int sum = 0;
for(int i=0; i < numbers.length ; i++)
sum = sum + numbers[i];
//calculate average value
double average = sum / numbers.length;
System.out.println("Average value of array elements is : " + average);
}
}
答案 0 :(得分:2)
在Java中,代码入口点始终是main
方法。它具有以下签名:public static void main(String[] args)
您必须在average
方法中调用main
方法才能运行该应用程序。
此外,您的average
方法声明返回类型double
的值。但是,该方法没有return语句。您必须在方法return val;
的末尾写入(val是您希望返回的任何双值),或者将方法返回类型声明为void
。
更重要的是,您的方法的参数x
类型为double[]
。在调用您的方法时(在main
方法中),您必须传递这样的参数。或者,您可以将方法签名更改为不接受任何内容(无参数)。
现在,至于你方法的主体。它不是用最佳实践编写的,但功能上它看起来不错,除了一件事。
//计算平均值
double average = sum / numbers.length;
这将进行整数除法,给出整数答案。这意味着小数位后的任何值都将被截断。要解决此问题,请执行以下两项操作之一:
sum
声明为double
分割时,将sum
或numbers.length
视为双重
double average = sum / (double) numbers.length;
P.S。我可以通过使用System.out.println
来说明这是Java。将来,请务必使用Java或您的代码所使用的语言来标记您的问题。