gpt4 book ai didi

java - 配置一个计算一系列 double 乘积的应用程序

转载 作者:行者123 更新时间:2023-12-01 19:33:53 26 4
gpt4 key购买 nike

我正在尝试配置一个应用程序来计算传递给 calcProduct 方法的一系列 double 的乘积。 calcProduct 将有一个可变长度的参数,并且应该返回计算出的乘积。然后应该将其与数组的标识一起打印。

这是迄今为止我的代码:

导入java.text.DecimalFormat;导入java.text.NumberFormat;

公共(public)类变量长度{

public static double calProduct(double... numbers)
{
double total = 0.0;

for (double number : numbers)
total += number;

return total / numbers.length;
}

public static void main(String[] args)
{

NumberFormat myFormat = NumberFormat.getInstance();
myFormat.setGroupingUsed(true);

DecimalFormat decimalFormat = new DecimalFormat("#.###");
decimalFormat.setGroupingUsed(true);
decimalFormat.setGroupingSize(3);


double[] array1 = {2.1, 3.2, 4.3};
double[] array2 = {1, 2, 3, 4, 5};
double[] array3 = {2.0, 110.12345};
double[] array4 = {10.0, 12, 13.1, 4, 5.2, 6, 7.3, 8, 9.4, 100};
double[] array5 = { };

System.out.println(myFormat.format(array1));
System.out.println(myFormat.format(array2));
System.out.println(myFormat.format(array3));
System.out.println(myFormat.format(array4));
System.out.println(myFormat.format(array5));

System.out.println(decimalFormat.format(array1));
System.out.println(decimalFormat.format(array2));
System.out.println(decimalFormat.format(array3));
System.out.println(decimalFormat.format(array4));
System.out.println(decimalFormat.format(array5));


System.out.printf("array1 = %.1f\narray2 = %.1f\narray3 = %.1f\narray4 = %.1f\narray5 = %.1f\n\n", array1, array2, array3, array4);

System.out.println("The average of array1 and array2 is \n" + calProduct(array1, array2));
System.out.println("The average of array1, array2, and array3 is \n" + calProduct(array1, array2, array3));
System.out.println("The average of array1, array2, and array3, array4 is \n" + calProduct(array1, array2, array3, array4));
System.out.println("The average of array1, array2, array3, array4 and array5 is \n" + calProduct(array1, array2, array3, array4, array5));
}

}

我不断收到此错误:

线程“main”java.lang.Error中出现异常: Unresolved 编译问题: variableLength 类型中的方法 calProduct(double...) 不适用于参数 (double[], double[]) variableLength 类型中的方法 calProduct(double...) 不适用于参数 (double[], double[], double[]) variableLength 类型中的方法 calProduct(double...) 不适用于参数(double[]、double[]、double[]、double[]) VariableLength 类型中的方法 calProduct(double...) 不适用于参数 (double[], double[], double[], double[], double[])

at variableLength.main(variableLength.java:52)

我做错了什么?我怎样才能实现一个工作计划?预先感谢您!

最佳答案

问题是您的 calProduct 函数被编写为采用一系列 double ,但是当您实际调用该函数时,您向它传递了一系列 double 组。由于这些类型不兼容,因此您会收到您所描述的编译错误。

如果您想编辑 calProduct 函数以获取一系列 double 组,您还需要使用两个 for 循环,一个循环遍历该系列数组,一个循环遍历每个数组中的数字。您还需要跟踪您有多少 double 的计数,因为看起来您实际上是在计算平均值,而不仅仅是乘积。

例如,重写的 calProduct 函数可能如下所示:

public static double calProduct(double[]... numberArrays) {
double total = 0.0;
int count = 0;

for (double[] numbers : numberArrays) {
for (double number : numbers) {
total += number;
count++;
}
}

return total / count;
}

关于java - 配置一个计算一系列 double 乘积的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59238609/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com