我正在为一个学校项目工作,但其中一部分遇到了麻烦。我在记事本中有一个文本文件,其中包含有关NHL中每个团队的数据:
Washington Capitals
3.02
2.33
85.2
30.6
28.4
True
Dallas Stars
3.23
2.78
82.3
32.0
28.9
True
...
我试图将所有的双打放置在一个数组中,但我似乎无法弄清楚如何跳过所有包含字符串或布尔值的行。
这是我到目前为止的代码:
double data[][] = new double[30][6];
int indexRow = 0, indexCol = 0, tracker = 0;
File file = new File(fileName);
Scanner input = new Scanner(file);
while(input.hasNext())
{
if(tracker == 0 || tracker == 6)
{
//skip line
if(tracker == 6)
tracker = 0;
}
data[indexRow][indexCol] = input.nextDouble();
if(indexCol < 6) indexCol++;
if(indexRow < 30 && indexCol % 6 == 0)
{
indexRow++;
indexCol = 0;
}
tracker++;
}
无论如何,是否只跳过包含字符串和布尔值的行?提前致谢。
最佳答案
您不能跳过一行,因为您需要先阅读它,以查看它是您想要的行还是废弃的行。使用您给定的格式,只要第一个字符是字母,就读该行的第一个字符,然后丢弃其余的行。如果第一个字符是数字,则保留该行。