用java计算平均值
我的程序读取一个文件并将所有内容放入一个名为values2的字符串数组中。数组元素17 values2[17]包含我需要的值。我将该数组元素转换为一个双精度数组,以便计算平均值。程序应该取值[17]中的前3个值,然后除以3来计算平均值,但它只是将相同的值打印3次,而不是先加后除。用java计算平均值,java,for-loop,average,Java,For Loop,Average,我的程序读取一个文件并将所有内容放入一个名为values2的字符串数组中。数组元素17 values2[17]包含我需要的值。我将该数组元素转换为一个双精度数组,以便计算平均值。程序应该取值[17]中的前3个值,然后除以3来计算平均值,但它只是将相同的值打印3次,而不是先加后除。 你知道我做错了什么吗?你没有对我做任何事 double Hg = Double.parseDouble(values2[17]); for (int i = 0; i < 3; i++) { double
你知道我做错了什么吗?你没有对我做任何事
double Hg = Double.parseDouble(values2[17]);
for (int i = 0; i < 3; i++) {
double Avg = (Hg + Hg + Hg) / 3;
System.out.println(Avg);
}
当前,您将整个数组添加到自身中3次,然后进行除法,但您需要在数组中添加三个想法,然后除以三 做
如果我明白你在做什么,逗号分隔的字符串值,它可以像
double Avg = values2[0] + values2[1] + values2[2] / 3
哪个输出
public static void main(String[] args) {
String[] values = new String[18];
values[17] = "1.0, 2.0, 4.0";
double total = 0;
int count = 0;
for (String v : values[17].split(",")) {
if (v != null) {
total += Double.valueOf(v.trim());
count++;
}
}
double avg = total / ((double) count);
System.out.println("The average of " + values[17] + " is " + avg);
}
如果values2[17]是一个类似于2 5 7的字符串,那么您需要分别解析它们
The average of 1.0, 2.0, 4.0 is 2.3333333333333335
另一方面,如果您有一个像567这样的字符串,并且您想要单独的值,那么您可以将其拆分为一个char数组,然后添加int值吗
String[] nums = valus2[17].split(" ");
double d1 = Double.parseDouble(num[0]);
double d2 = Double.parseDouble(num[1]);
double d3 = Double.parseDouble(num[3]);
double average = (d1 + d2 + d3) / 3;
不改变你试图平均的值?等等,那么值2[17]中到底是什么?一个双精度字符串?您的逻辑是3x/3,也就是x,所以您可以只打印HgHg+Hg+Hg/3==Hgfirst 3个值,这些值在值[17]中,这到底是什么意思。值2[17]是否以某种方式包含多个值?
String[] nums = valus2[17].split(" ");
double d1 = Double.parseDouble(num[0]);
double d2 = Double.parseDouble(num[1]);
double d3 = Double.parseDouble(num[3]);
double average = (d1 + d2 + d3) / 3;
String value = "567" // value2[17]
char[] digits = value.toCharArray();
int total = 0;
for (char c : digits){
total += Integer.parseInt(String.valueOf(c));
}
double average = total / new Double(digits.length);