Java 如何从输入文件中找到平均值、中值、模式和范围?

Java 如何从输入文件中找到平均值、中值、模式和范围?,java,arrays,sorting,mean,median,Java,Arrays,Sorting,Mean,Median,我需要从输入文件中找到平均值、中值、模式和范围 [输入文件的编号为{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

我需要从输入文件中找到平均值、中值、模式和范围

[输入文件的编号为{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];
    } 

}
import java.io.*;
导入java.util.*;
公营班级职系{
公共静态双平均值(双[]个){
双倍合计=0;
int j=0;
对于(;j
我不知道如何从范围输出打印计算或计算模式

您已经编写了一个函数来计算范围。以下是如何打印范围

System.out.println("Range = " + getRange(num));
下面是计算模式的快速代码段:

public static double calculateMode(final double[] numberList) {
    double[] cnts = new double[numberList.length];
    double mode = 0, max = 0;

    for (int i = 0; i < numberList.length; i++) {
        /* Update Count Counter */
        cnts[numberList[i]]++;
        /* Check */
        if (max < cnts[numberList[i]]) {
            /* Update Max */
            max = cnts[numberList[i]];
            /* Update Mode */
            mode = numberList[i];
        }
    }
    /* Return Result */
    return mode;
}
publicstaticdouble-calculateMode(finaldouble[]numberList){
double[]cnts=新的double[numberList.length];
双模式=0,最大值=0;
for(int i=0;i
我不知道如何从范围输出打印计算或计算模式

您已经编写了一个函数来计算范围。以下是如何打印范围

System.out.println("Range = " + getRange(num));
下面是计算模式的快速代码段:

public static double calculateMode(final double[] numberList) {
    double[] cnts = new double[numberList.length];
    double mode = 0, max = 0;

    for (int i = 0; i < numberList.length; i++) {
        /* Update Count Counter */
        cnts[numberList[i]]++;
        /* Check */
        if (max < cnts[numberList[i]]) {
            /* Update Max */
            max = cnts[numberList[i]];
            /* Update Mode */
            mode = numberList[i];
        }
    }
    /* Return Result */
    return mode;
}
publicstaticdouble-calculateMode(finaldouble[]numberList){
double[]cnts=新的double[numberList.length];
双模式=0,最大值=0;
for(int i=0;i
尝试将元素排序到数组中。它将给出以下结果:

    [49,53,60,71,75,92]
假设您将其存储在数组A中

int arrLength=A.length();
for(i=0,sum=0;i<arrlength;i++)
    sum=sum+A[i]
mean=sum/arrLength;
median=A[arrLength/2]
int arrLength=A.length();

对于(i=0,sum=0;i尝试将元素排序到数组中。它将给出以下结果:

    [49,53,60,71,75,92]
假设您将其存储在数组A中

int arrLength=A.length();
for(i=0,sum=0;i<arrlength;i++)
    sum=sum+A[i]
mean=sum/arrLength;
median=A[arrLength/2]
int arrLength=A.length();

对于(i=0,sum=0;我会告诉我们更多关于发生了什么?你看到了什么样的错误?确切的问题。为什么很难打印出计算结果?范围根本打印不出来,平均值计算由于某种原因是错误的。它打印出49.88883作为平均值,这是错误的。告诉我们更多关于发生了什么?你认为是什么样的错误看到了吗?确切的问题。为什么很难打印出计算结果?范围根本打印不出来,而且由于某种原因,平均值计算是错误的。它打印出49.88883作为平均值,这是错误的。是的,是的,我做了。谢谢。没关系……你可以选择任何一个答案作为最佳答案(或者不选择)是的,我做了。谢谢,没关系。你可以选择任何一个答案作为最佳答案(也可以不选择),以获得分数