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);
}
代码有什么问题?它应该做什么,它究竟做了什么? – dg99
代码的问题是它正常出来,但是当温度进入80以上时,代码就会吓倒并开始输出负数,我认为这是操作顺序的问题。 – FlyingKalamari
“hI”在哪里定义?我在你的代码示例中没有看到它。 – dg99