【发布时间】:2016-05-31 16:18:00
【问题描述】:
我需要从输入文件中找到平均值、中位数、众数和范围。
[输入文件有数字{60,75,53,49,92,71}]
我不知道如何打印范围外的计算或计算模式。
这很糟糕,我对 Java 很陌生。
如果有人可以帮助我,那就太好了。
import java.io.*;
import java.util.*;
public class grades {
public static double avg(double[] num) {
double total = 0;
int j = 0;
for (; j < num.length; j++) {
total += num[j];
}
return (total / j);
}
public double getRange(double[] numberList) {
double initMin = numberList[0];
double initMax = numberList[0];
for (int i = 1; i <= numberList.length; i++) {
if (numberList[i] < initMin) initMin = numberList[i];
if (numberList[i] > initMax) initMax = numberList[i];
double range = initMax - initMin;
}
return range;
}
public static void main(String[] args) throws IOException {
double[] num = new double[12];
File inFile = new File("data.txt");
Scanner in = new Scanner(inFile);
for (int i = 0; i < num.length && in.hasNext(); i++) {
num[i] = in.nextDouble();
// System.out.println(num[i]);
}
double avg = grades.avg(num);
System.out.println("Arithmetic Mean = " + avg);
System.out.printf("Median = %.2f%n", grades.getMedian(num));
System.out.println("Range = " + range);
}
public static double getMedian(double[] num) {
int pos = (int) num.length / 2;
return num[pos];
}
}
【问题讨论】:
-
告诉我们更多关于会发生什么的信息?你看到什么样的错误?确切的问题。为什么很难打印出计算结果?
-
该范围根本不打印出来,并且由于某种原因平均计算错误。它打印出 49.88883 作为平均值,这是错误的。
标签: java arrays sorting mean median