gpt4 book ai didi

java - 从 double 到 int 可能有损转换

转载 作者:行者123 更新时间:2023-12-01 10:10:44 25 4
gpt4 key购买 nike

编写一个包含两个重载方法的程序,这些方法返回具有以下 header 的数组的平均值:

public static int average(int[] array)
public static double average(double[] array)

我的程序包含错误

list2[i] = sc.nextDouble(); // possible lossy conversion from double to int 
return average; // possible lossy conversion from double to int

不确定问题是什么,我已经在我的方法中声明了需要声明的内容,我不知道为什么我的双重输入会给我这个错误

import java.util.Scanner;

public class Lab7A {

public static void Main(String[] args) {


Scanner sc = new Scanner(System.in);



System.out.print("Enter 10 Integer values: ");
int list[] = new int[10];
for (int i = 0; i < list.length; i++) {
list[i] = sc.nextInt();
}

double avg1 = average(list);
System.out.println("Average of First Array: " + avg1);
System.out.println();

System.out.print("Enter Ten Double Values: ");
double list2[] = new double[10];
for (double i = 0; i < list2.length; i++) {
list2[i] = sc.nextDouble();
}

double avg2 = average(list2);
System.out.println("Average of Second Array: " + avg2);
System.out.println();
}
public static int average(int[] list) {
double average = 0;
double total = 0;

for (int i = 0; i < list.length; i++) {
total = total + list[i];
}
average = total / list.length;
return average;

}

public static double average(double[] list2) {
double average = 0;
double total = 0;

for (int i = 0; i < list2.length; i++) {
total = total + list2[i];
}
average = total / list2.length;
return average;
}

}

最佳答案

您的average(double[])方法正在尝试使用 double作为数组索引,但Java只允许int s 作为数组索引。这就是“从 double 到 int 的可能有损转换”的来源。

其他一切都是并且应该是 double ,但声明你的索引 dint消除此错误。

此外,在 for该方法的循环,条件应该是 d < list2.length而不是d < 5 .

此外,int 的平均值值不一定是 int 。在你的average(int[])方法,声明它返回 double ,并声明average成为double 。变量avg1需要是 doublemain还有。

关于java - 从 double 到 int 可能有损转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36141981/

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