Java 读取文件行并存储不同类型的变量
我试图找出一种方法来读取以下文本文件。我能够得到文本文件中的第一个整数,即numLines。在这一点之后,我可以从行中获取第一个整数,但无法成功获取每个字母组Java 读取文件行并存储不同类型的变量,java,parsing,Java,Parsing,我试图找出一种方法来读取以下文本文件。我能够得到文本文件中的第一个整数,即numLines。在这一点之后,我可以从行中获取第一个整数,但无法成功获取每个字母组 for(int i=0; i < numLines; i++){ numVariables = Integer.parseInt(fin.next()); for(int z=0; z < numVariables; z++){ String line = fin.next();
for(int i=0; i < numLines; i++){
numVariables = Integer.parseInt(fin.next());
for(int z=0; z < numVariables; z++){
String line = fin.next();
int numRules = Integer.parseInt(line.substring(0, 1));
//Everything up until this point is good
//read and store first capital letter of every line
String variable = line.substring(2,3);
//read and store remaining capital letters that correspond to every line separately
}
}
我不知道是什么问题。如果您说您有“解析”问题,您可以尝试:
- 读一行(
)字符串行
将其拆分为两部分。请点击此处: ,int)
array=line.split(“,2)
然后
如果您想要每个部分,您可以无限制地拆分(“”)
如果您只想获取大写单词,可以使用正则表达式:
line.split(" ",2); //array[0] is the leading number
应用“(?String[]words=line.split((“\\s+”);//任何空格
int numRules=Integer.parseInt(字[0]);
for(int j=1;j
您不需要一个列表来存储这些值吗?是的。我在解析它时遇到的问题比存储它更大。但是,是的,一个大小为100的列表或数组都可以工作。@MHZ您的问题不完整-有什么问题吗?很抱歉,请参阅“编辑”。谢谢您的回答。我需要用空格分隔所有字母组,包括小写字母和大写字母e、 @MHZ然后拆分(“”)。获取返回的数组,[0]是数字,其余元素是您想要的。
array[0] is the leading number
array[1] is the rest letters
line.split(" ",2); //array[0] is the leading number
String[] words = line.split(("\\s+"); // Any whitespace
int numRules = Integer.parseInt(words[0]);
for (int j = 1; j < words.length; ++j) {
String variable = words[j];
}