所以我有这个任务,我部分坚持,我需要通过从一个文本文档向不同阵列添加有关飓风的信息来启动它。我知道你应该使用for循环,但是你能给我一个例子或一个好的答案吗?顺便说一句,在下面的代码中,我不断得到nextInt超出数组边界的错误(它没有停止)
哦,如果可以(如果可能的话)你可以使用for-each循环给出答案吗? 非常感谢你!
变量和导入:
import java.util.Scanner;
import java.io.File;
import java.io.IOException;
public static void main(String[] args)throws IOException
{
//declare and initialize variables
int arrayLength = 59;
int [] year = new int[arrayLength];
String [] month = new String[arrayLength];
int [] pressure = new int[arrayLength];
double [] windSpeed = new double[arrayLength];
String [] hurcName = new String[arrayLength];
File fileName = new File("/Users/jerome/Desktop/hurcdata.txt");
Scanner inFile = new Scanner(fileName);
//INPUT - read data in from the file
int index = 0;
这是我尝试将文本文件添加到数组中:
//INPUT - read data in from the file
int index = 0;
while (inFile.hasNext())
{
month[index] = inFile.next();
index++;
}
inFile.close();
while (inFile.hasNext())
{
pressure[index] = inFile.nextInt();
index++;
}
inFile.close();
while (inFile.hasNext())
{
windSpeed[index] = inFile.nextInt();
index++;
}
inFile.close();
来自hurcdata.txt
的示例数据:
1980 Aug 945 100 Allen
1983 Aug 962 100 Alicia
1984 Sep 949 100 Diana
1985 Jul 1002 65 Bob
1985 Aug 987 80 Danny
1985 Sep 959 100 Elena
...
答案 0 :(得分:0)
while( inFile.next() )
将一直读到文件为空。因此,扫描程序命中的每个分隔符都被放入month
数组中。
考虑一下“数据集”的样子。您将需要读取每个集合,直到没有更多数据。一些伪代码:
while( inFile.next() )
{
//read part1 into first array
//read part2 into second array
//read part3 into third array
}
inFile.close();
//now arrays are full.
//Do other stuff...