2017-02-09 21 views
-1

私はコードをテストし、必要に応じて動作します。しかし、testaverageTemperatureWithHighHumidityInFile()からaverageTemperatureWithHighHumidityInFile()を呼び出すときにcurrRowが値を超えた場合、System.out.println( "その湿度のない温度はありません")を出力することができます。これはどうすればいいですか?CSVファイルを使用してCSVファイルから平均温度を調べる

  public double averageTemperatureWithHighHumidityInFile(CSVParser parser, int value){ 
     double averageTemperatureWithHighHumidity =0.0; 
     int numberOfDays = 0; 
     double sum =0; 
     double averageTemp = 0; 

`    for (CSVRecord currentRow : parser){ 

      double currRow = Double.parseDouble(currentRow.get("Humidity")); 
       if (currRow >= value){ 


        double temp = Double.parseDouble(currentRow.get("TemperatureF")); 

        sum +=temp; 
        numberOfDays++; 

       } 
       averageTemp = sum/numberOfDays;    
      } 
    return averageTemp; 

    } 




    public void testAverageTemperatureWithHighHumidityInFile(){ 
      FileResource fr = new FileResource();  
      double testAverageTemperatureWithHighHumidityInFile = averageTemperatureWithHighHumidityInFile(fr.getCSVParser(),80); 
      System.out.println("Average temperature when high humidity is " + testAverageTemperatureWithHighHumidityInFile); 

    } 
+0

だから、いくつかのコードを追加します。何があなたを妨害していますか? – vanje

答えて

0
public double averageTemperatureWithHighHumidityInFile(CSVParser parser, int value){ 
    double averageTemperatureWithHighHumidity =0.0; 
    int numberOfDays = 0; 
    double sum =0; 
    double averageTemp = 0; 
    for (CSVRecord currentRow : parser){ 

     double currRow = Double.parseDouble(currentRow.get("Humidity")); 
      if (currRow >= value){ 


       double temp = Double.parseDouble(currentRow.get("TemperatureF")); 

       sum +=temp; 
       numberOfDays++; 

      } else{ 

      System.out.println("Average temperature with that humidity does not exisi"); 
      } 
       averageTemp = sum/numberOfDays; 
     } 
return averageTemp; 

} 
関連する問題