我很难将文本文件中的每一行拆分为字符串数组并像我需要的那样使用它。split() 似乎工作正常。我最终得到了一个字符串数组,其中字符串数组的第一个槽包含一个我需要解析为 int 的数字,以继续我的代码。出于某种原因,我不断收到下面显示的错误,我似乎无法弄清楚。
我的目标是简单地将包含字母的文本文件的每一行存储在一个数组中,并将将成为该行的第一个值的数字解析为一个整数。完成此操作后,我需要能够独立使用前面的每组字母,因此我也尝试将它们放入数组中。
我很感激这方面的任何帮助。
提前谢谢了!
注意:numGrammars 是文本文件第一行显示的第一个数字。
我的代码
numGrammars = Integer.parseInt(fin.next());
System.out.println("Num Grammars:" + numGrammars);
for(int v=0; v < numGrammars; v++){
int numVariables = Integer.parseInt(fin.next());
System.out.printf("numVariables: %s", numVariables);
for(int z=0; z < numVariables; z++){
//reads in variable line
String line = fin.nextLine();
String[] strings = line.split(" ");
for(int m=0; m < strings.length; m++){
int numRules = Integer.parseInt(strings[0]);
//All other array slots in strings array should be groups of letters on group per slot...
}
}
}
控制台输出
Num Grammars:2
numVariables: 3Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at Methods.readFile(Methods.java:34)
at Main.main(Main.java:12)
我正在阅读的文本文件:
1
3
2 S AB BB
3 A BB a b
2 B b c