Java 如何从输入文件中找到平均值、中值、模式和范围?
我需要从输入文件中找到平均值、中值、模式和范围 [输入文件的编号为{60,75,53,49,92,71}] 我不知道如何从范围输出打印计算或计算模式 这很糟糕,我对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
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作为平均值,这是错误的。是的,是的,我做了。谢谢。没关系……你可以选择任何一个答案作为最佳答案(或者不选择)是的,我做了。谢谢,没关系。你可以选择任何一个答案作为最佳答案(也可以不选择),以获得分数