Java 如何获得数组中前两个数字的平均值?
我不知道如何得到数组中前2个数字的平均值,然后是前3个数字的平均值。我在这些线路上遇到了错误<代码>平均值(数字[0],数字[1])代码>和Java 如何获得数组中前两个数字的平均值?,java,arrays,methods,double,average,Java,Arrays,Methods,Double,Average,我不知道如何得到数组中前2个数字的平均值,然后是前3个数字的平均值。我在这些线路上遇到了错误平均值(数字[0],数字[1])和平均值(数字[0],数字[1],数字[2])这是我的代码 public class NoVarargsTest{ // calculate average public static double average(double[] numbers){ double total = 0.0; // calculate tota
平均值(数字[0],数字[1],数字[2])代码>这是我的代码
public class NoVarargsTest{
// calculate average
public static double average(double[] numbers){
double total = 0.0;
// calculate total using the enhanced for statement
for (double d : numbers){
total += d;
}
return (total / (double)numbers.length);
}
public static void main (String[] args) {
double d1 = 10.0;
double d2 = 20.0;
double d3 = 30.0;
double d4 = 40.0;
double[] numbers= new double[4];
numbers[0] = 10.0;
numbers[1] = 20.0;
numbers[2] = 30.0;
numbers[3] = 40.0;
if (args.length == 0)
System.out.println("No Command Line arguments");
else {
System.out.println("You provided " + args.length
+ " arguments");
for (int i = 0; i < args.length; i++) {
System.out.println("args[" + i + "]: "
+ args[i]);
}
}
System.out.printf("d1 = %.1f%nd2 = %.1f%nd3 = %.1f%nd4 = %.1f%n%n",numbers[0],numbers[1], numbers[2], numbers[3]);
System.out.printf("Average of d1 and d2 is %.1f%n",
average(numbers[0],numbers[1]));
System.out.printf("Average of d1, d2 and d3 is %.1f%n",
average(numbers[0],numbers[1],numbers[2]));
System.out.printf("Average of d1, d2, d3 and d4 is %.1f%n",
average(numbers));
}
} // end class NoVarargsTest
公共类测试{
//计算平均数
公共静态双平均(双[]个数字){
双倍合计=0.0;
//使用增强型for语句计算总计
对于(双d:数字){
总数+=d;
}
返回(总/(双)个数。长度);
}
公共静态void main(字符串[]args){
双d1=10.0;
双d2=20.0;
双d3=30.0;
双d4=40.0;
double[]数字=新的double[4];
数字[0]=10.0;
数字[1]=20.0;
数字[2]=30.0;
数字[3]=40.0;
如果(args.length==0)
System.out.println(“无命令行参数”);
否则{
System.out.println(“您提供的”+args.length
+“论据”);
对于(int i=0;i
如果要使用varargs,必须将方法签名声明为:
public static double average(double... numbers){
numbers
将在您的方法中成为一个double[]
这是由指定的。如果要使用varargs,必须将方法签名声明为:
public static double average(double... numbers){
numbers
将在您的方法中成为一个double[]
这是由。您的公共静态双平均(double[]数字)
方法的参数是一个double[]数组,但您只需在此处传递两个双值:平均(数字[0],数字[1])代码>
要解决此问题,请将您的方法更改为公共静态双平均(双…数字)
或传递一个数组:平均(新的双[]{numbers[0],numbers[1]})
您的公共静态双平均(双[]数字)
方法的参数是双[]数组,但您只需在此处传递两个双值:average(数字[0],数字[1])代码>
若要解决此问题,请将方法更改为公共静态双平均(双…数字)
或传递一个数组:平均(新的双[]{numbers[0],numbers[1]})
我从来没有机会使用varargs。我喜欢这个解决方案。我个人更愿意使用这种方式,但我需要学习如何使用这两种方式。我从来没有机会使用varargs。我喜欢这种解决方案。我个人更愿意使用这种方法,但我需要学习如何使用这两种方法。它最初是一种公共静态双平均(双…数字),但我的作业要求编写一个名为Novaragstest的程序,该程序与第7.13节(印刷版第282页)中的7.20相同但是使用一个double数组代替varargs。一定要了解如何做到这两个方面。现在对其进行修改,使其将值作为命令行参数读取(如果存在),如果不存在,则使用原始程序中提供的数据。此已编辑代码是否仍使用varargs@Alexandre SantosIt最初是此公共静态双平均数(双…数字)但我的作业要求编写一个名为novaragstest的程序,该程序与第7.13节(印刷版第282页)中的7.20相同,但使用一个双精度数组来代替varargs。一定要了解如何做到这两个方面。现在修改它,使其将值作为命令行参数读取(如果存在),如果不存在,则使用原始程序中提供的数据。这段经过编辑的代码是否仍然使用varargs@Alexandre Santos