方法中的Java数组
我正在制作一个方法,它获取数组列表,并找到这些数字的平均值。 我知道我的方法是有效的,因为我刚刚把它从我的主要方法移到了“平均”方法。我只是在让数组使用该方法时遇到问题 我不确定通过方法中的Java数组,java,Java,我正在制作一个方法,它获取数组列表,并找到这些数字的平均值。 我知道我的方法是有效的,因为我刚刚把它从我的主要方法移到了“平均”方法。我只是在让数组使用该方法时遇到问题 我不确定通过average(a)调用该方法是否是错误的,或者是因为该方法写为公共静态无效平均值(double[]a){ 有人能给我指一下正确的方向吗 public class Ass10{ public static void main(String[] args) { System.out.print
average(a)调用该方法是否是错误的代码>,或者是因为该方法写为公共静态无效平均值(double[]a){
有人能给我指一下正确的方向吗
public class Ass10{
public static void main(String[] args) {
System.out.println("asdf");
int a[] = {1, 2, 3,4};
average(a);
}
public static void average(double[] a){
int sum = 0;
for (int counter = 0; counter<a.length;counter++){
sum += a[counter];
}
System.out.println(sum/a.length)
}
公共类Ass10{
公共静态void main(字符串[]args){
系统输出打印项次(“asdf”);
int a[]={1,2,3,4};
平均(a);
}
公共静态无效平均值(双[]a){
整数和=0;
对于(int counter=0;counter您可以尝试将公共静态无效平均值(double[]a)
更改为公共静态无效平均值(int[]a)
int
和double
在Java中是原语而不是对象。此外,它们的数组是不协变的。(数组平均值的协方差如果a扩展了B,那么a[]
因此,如果需要int[]
,则不能使用double[]
。
这应该做publicstaticvoidaverage(int[]a){
其次,sum+=a[计数器];
将导致精度损失,因为sum
是类型int
,a
是类型double
为什么它是平均值(double[]a)
而不是平均值(int[]a)
?到底是什么错误?我想Cratylus已经为您找到了答案。Hanks Cratylus,这就是问题所在!我需要它们都是double或int。您得到了什么例外??