gpt4 book ai didi

java - 在java中计算 double vector 的平均值

转载 作者:行者123 更新时间:2023-12-02 03:57:16 25 4
gpt4 key购买 nike

我在计算 double vector 的平均值时遇到问题。这是我的代码:

import java.util.Scanner;
import java.util.Vector;
public class MediaVettore {
public static void main ( String [] args ) {
System.out.println("Insert a sequence of double numbers (the program ends when the input is 0,0):");
@SuppressWarnings("resource")
Scanner input = new Scanner ( System .in );
Vector < Double > v = new Vector < Double >();
double n;
double sum = 0;
double average;
do {
n = input . nextDouble ();
if(!v.isEmpty()) {
for(int i=0; i<=v.size()-1; i++) {
sum += v.get(i);
}
}
average=sum/v.size();
if (n !=0) v. add (n);
} while (n !=0);
System.out.println("Average = " + average);
System.out.println(v.size());
System.out.println(sum);
}
}

总和不正确,我不明白为什么。你能给我一点帮助吗? v.get(i) 应该在正确的位置获得想要的 double ,不是吗?

<小时/>

为需要的人编辑:对于以下解决方案的每个版本

for(double i : v) {
sum += i;
}

最佳答案

您应该将元素放入与计算平均值不同的循环中的 vector 中。现在你正试图同时做这两件事,这有点困惑。

do {
n = input . nextDouble ();
if (n !=0) v. add (n);
} while (n !=0);
for(int i=0; i<=v.size()-1; i++) {
sum += v.get(i);
}
}
average=sum/v.size();

...尽管您还应该改进代码中的其他一些内容,例如使用 ArrayList 而不是 Vector,后者已被弃用了几乎20 年,并使用 for-each 循环而不是笨拙的索引 for 循环。

关于java - 在java中计算 double vector 的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35324244/

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