【问题标题】:How can I display averages etc. of CSV data in Eclipse?如何在 Eclipse 中显示 CSV 数据的平均值等?
【发布时间】:2014-12-28 20:52:39
【问题描述】:

我得到了一些数据(最高温度、最低温度、降雨量等),我们的任务是在 Eclipse 中读取这些数据,然后分析数据。

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;



public class assign1 {
    
    public static void main(String[] args) throws IOException {
        
    	// declare variables
    	String line; 
    	
    	//
    	BufferedReader file = new BufferedReader(new FileReader("weatherdata.csv"));
    	System.out.println("Year, Month, Temp, Rain");
    	
    	while((line = file.readLine()) != null) {
    	System.out.println(line);
    	}
    	
       	
      	    	file.close();
    	}   
    
    }

      

当我运行程序时,控制台中的数据和标题显示正常,正如预期的那样。

但我的问题是,

我现在如何显示数据的平均值等?

【问题讨论】:

  • 自己做作业!!

标签: java arrays eclipse csv


【解决方案1】:

在读取文件时为所需属性保留一个 sum 变量(因此您需要 2 个变量)。因为您正在逐行阅读,请根据 CSV 文件中的分隔符拆分您的行 例如对于逗号分隔值:

String[] values = line.split(",");

然后将请求的值添加到总和变量中。 values[2] 代表温度,values[3] 代表降雨。

您还需要一个计数器来除以您的总和并找到平均值。

例如你的代码可以写成:

System.out.println("Year, Month, Temp, Rain");
double sumTemp = 0;
double sumRain = 0;
int counter = 0;
while((line = file.readLine()) != null) {
    String[] values = line.split(",");
    sumTemp += values[2];
    sumRain += values[3];
    counter++;
    System.out.println(line);
}
//now print averages
double avgTemp = sumTemp/counter;
double avgRain = sumRain/counter;
System.out.println("Average: Temp: " + avgTemp);
System.out.println("Average: Rain: " + avgRain);

//do not copy paste it, first learn the basics, get confident... and then play with it,
//else you won't learn, you won't find a job

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 2021-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-12
    相关资源
    最近更新 更多