2013-11-23 114 views
0

我需要帮助解决我的输出代码问题。对不起,我需要帮助修复输出的大块代码。这两个输入文件可以找到(即将张贴)操作顺序

请问你是否需要什么输出看起来像或公式解决hI(我只能发布两个链接。)。

import java.util.Scanner; 
import java.io.File; 
import java.io.IOException; 

public class HeatIndex 
{ 
    public static void main(String[] args) throws IOException 
    { 


    String location = "Key West, Florida"; 
    File fileNameTemp = new File("KeyWestTemp.txt"); 
    File fileNameHumid = new File("KeyWestHumid.txt"); 

    Scanner inFileTemp = new Scanner(fileNameTemp); 
    Scanner inFileHumid = new Scanner(fileNameHumid); 

    String [] month = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "Novermber", "December"}; 
    int length = month.length; 
    double [] temperature = new double[length]; 
    int [] humidity = new int[length]; 
    double [] hI = new double[length]; 


    //INPUT - read in data for temp and humidity from files 

    int n = 0; //index value for arrays 
    while(inFileTemp.hasNextDouble()) 
    { 
     temperature[n] = inFileTemp.nextDouble(); 
     //System.out.println (temperature[n]); //debug statement - uncomment to see values assignned to temperature 
     n++; 
    } 
    inFileTemp.close(); 


    n = 0; //reset index to 0 
    while (inFileHumid.hasNextDouble()) 
    { 
      humidity[n] = inFileHumid.nextInt(); 
      //System.out.println (humidity[n]); //debug statement - uncomment to see values assignned to humidity 
      n++; 
    } 
    inFileHumid.close(); 

    //PROCESSING - calculate Heat Index if needed- see lecture notes for details, formula is incomplete 

    double t = 0.0; 
    int h = 0; 

    for(n = 0; n < hI.length; n++) 
    { 
     if(temperature[n] >= 80.0 ) //determine if HI should be calculated, complete the condition based on Lecture notes 
     { 
      t = temperature[n]; 
      h = humidity[n]; 

      hI[n] = -42.379 + 2.04901523*t+ 10.1433312*h- 0.22475541*t*h- 0.000683783*(t*t)- 0.005481717* (h*h)+ 0.000122874*(h*h)*t+ 0.000085282*t*(h*h)- 0.000000199*(t*t)*(h*h); 
} 
+0

代码有什么问题?它应该做什么,它究竟做了什么? – dg99

+0

代码的问题是它正常出来,但是当温度进入80以上时,代码就会吓倒并开始输出负数,我认为这是操作顺序的问题。 – FlyingKalamari

+0

“hI”在哪里定义?我在你的代码示例中没有看到它。 – dg99

回答

0

这不是一个编码问题,它是公式的问题。你需要研究scientific notation

0.000683783应0.00683783(6.83783x10 -3

0.005481717应0.05481717(-5.481717x10 -2

参见formula

+0

对不起,我认为这是代码的东西,但谢谢花时间确保一切正常。祝你今天愉快! – FlyingKalamari