2014-12-28 82 views
-1

我已經給了一些數據(最高溫度,最低溫度,降雨量等),我們的任務是在Eclipse中讀取這些數據,然後分析數據。如何在Eclipse中顯示CSV數據的平均值等?

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

 

 

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

 
    

當我運行程序,數據和標題的顯示精細,正如預期,在控制檯中。

但我的問題是,

如何我現在得到顯示數據的平均值等?

+0

做你自己的作業! – hasan

回答

1

從文件中讀取時保留所需屬性的總和變量(因此您需要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 
+0

好的,非常感謝,早上不好 – OJL

相關問題