Java 查找文本文件的平均值
我对java相当陌生,我正在尝试编写代码以找到平均值。我知道平均值是把所有的数字相加,然后除以数字的个数,但我真的不知道如何编码。我的猜测是,我需要一个for循环,但我不知道从那里该做什么。程序基本上要求读取一个文件,然后计算平均值。以下是我目前掌握的代码:Java 查找文本文件的平均值,java,arrays,text-files,average,mean,Java,Arrays,Text Files,Average,Mean,我对java相当陌生,我正在尝试编写代码以找到平均值。我知道平均值是把所有的数字相加,然后除以数字的个数,但我真的不知道如何编码。我的猜测是,我需要一个for循环,但我不知道从那里该做什么。程序基本上要求读取一个文件,然后计算平均值。以下是我目前掌握的代码: import java.util.Scanner; import java.io.File; import java.io.FileNotFoundException; public class Calculations { publi
import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;
public class Calculations
{
public static void main(String[] args) throws FileNotFoundException
{
System.out.println("Please enter a file name");
Scanner keyboard = new Scanner(System.in);
String filename = keyboard.next();
Scanner reader = new Scanner (new File(filename));
int length = reader.nextInt();
double [] num = new double[length];
double [] num2 = new double[length];
System.out.println("The numbers are:");
for(int i = 0; i < length; i++)
{
num[i] = reader.nextDouble();
System.out.println(num[i]);
}
}
平均值应为10.625。非常感谢您的帮助。先谢谢你 只需引入一个新变量
sum
,将其初始化为0,并在打印时将元素添加到变量中
System.out.println("The numbers are:");
double sum = 0; //new variable
for(int i = 0; i < length; i++)
{
num[i] = reader.nextDouble();
sum += num[i];
System.out.println(num[i]);
}
sum /= (double) length; //divide by n to get the average
System.out.print("Average : ");
System.out.println(sum);
System.out.println(“数字是:”);
双和=0//新变量
for(int i=0;i
看来你只是在计算平均值时遇到了麻烦;我将在这里讨论这个问题:
在Java 7及以下版本中,使用for
循环:
double sum = 0; //declare a variable that will hold the sum
//loop through the values and add them to the sum variable
for (double d : num){
sum += d;
}
double average = sum/length;
在Java8中,您可以使用流
来计算平均值
double sum = Arrays.stream(num).sum(); //computes the sum of the array values
double average = sum/length;
嗨,杰基,你到底面临着什么麻烦?你得到了什么结果?是你问题的重复吗?首先你需要给出一些背景。这是为了一些练习吗?如果是的话,您是否仅限于基本体和数组?你必须要对巨大的文件负责吗?是否有关于如何读取文件的要求?你能把所有的东西都读入内存,然后把数据作为一个整体处理吗?非常感谢!我对Java非常陌生,我真的很执着于此,但它很简单。非常感谢您抽出时间回答
double sum = Arrays.stream(num).sum(); //computes the sum of the array values
double average = sum/length;