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

标签 java vector sum average

我在计算 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/

相关文章:

Java SWING 无法正确绘制

java - 捕获位图并添加水印

特定索引处的 C++ vector 删除无法正常工作

mongodb - 我如何求和 Meteor 集合中一个属性的所有值?

arrays - 基于两个数组的唯一条目求和 |速度问题

java - 澄清Java线程的概念

java Jbutton数组阻止构造函数完成运行

c++ - 递归期间数组的行为

c++ - vector < pair <int, int>>如何排序?

python - 按对象对组的值求和