gpt4 book ai didi

java - (Java) 数组越界异常

转载 作者:行者123 更新时间:2023-12-01 13:56:32 24 4
gpt4 key购买 nike

所以,我一直在为我的计算机科学类(class)编写一些代码来计算热指数。我在将指示要使用的文本文件中的数据加载到程序将要使用的数组中时遇到问题。您看到注释掉的 block 是我正在尝试的另一个解决方案,它也不起作用......我应该如何修复它?谢谢!

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

public class HeatIndex
{

public static void main(String [] args) throws IOException
{
Scanner keyWestHumidScan = new Scanner(new File("KeyWestHumid.txt"));
Scanner keyWestTempScan = new Scanner(new File("KeyWestTemp.txt"));

int counter1 = 0;
int counter2 = 0;
int [] keyWestHumid = {};
double [] keyWestTemp = {};
String header1 = " Heat index: Key West, Florida ";
String header2 = "\n Months \n ";
String [] months = {"Jan ", "Feb ", "Mar ", "Apr ", "May ", "Jun ", "Jul ", "Aug ", "Sep ", "Oct ", "Nov ", "Dec ", "Avg \n"};
String header3 = "*************************************************************************************";
String [] Labels = {"Temp (F) \n", "Hudimitiy (%) \n", "HI (F) "};


//read keyWestHumid into array
while(keyWestHumidScan.hasNext())
{
keyWestHumid[counter1] = keyWestHumidScan.nextInt();
counter1++;
//String data1_parse = keyWestHumidScan.next();
///int data1 = Integer.parseInt(data1_parse);
//keyWestHumid[counter1] = data1;
//counter1++;
}
//read keyWestTemp into array
while(keyWestTempScan.hasNext())
{
String data2_parse = keyWestTempScan.next();
double data2 = Double.parseDouble(data2_parse);
keyWestTemp[counter2] = data2;
counter2++;

}
System.out.println(header1);
System.out.print(header2);
for(String headData:months) {
System.out.print(headData);
}
System.out.println(header3);
for(String headData:Labels) {
System.out.print(headData);
}


}
}

最佳答案

用这一行:

double [] keyWestTemp = {};

您创建了一个长度为零的数组,因此无法为其分配任何内容。您无法调整数组的大小,因此它几乎没有用。

使用前需要确定尺寸:

double[] keyWestTemp = new double[10];  // adjust size to fit your actual needs

您需要对 keyWestHumid 数组执行相同的操作。

关于java - (Java) 数组越界异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19594395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com