【发布时间】:2018-08-16 02:20:03
【问题描述】:
我正在尝试编写一个程序,该程序将执行并从文件中生成简化的编程语言语句的输出。文件中有几行将给出诸如 variable = expression、PRINT variable、GOTO 'x line'、IF variable IS value THEN .... 等语句。一行写着 END 是最后一行,应该停止程序。
我使用空格作为分隔符,并且知道我需要使用 BufferedReader 和 tokenizer 来拆分这些行。我正在努力解决的是如何存储所有这些语句/变量,一旦它们被拆分?并行 ArrayLists 会是一个好方法吗?如何分别读取每个变量和表达式并对其进行评估?这是我目前所拥有的:
public void processProgram() {
String fileName = getFileName();
if(fileName != null)
processProgram();
String line = null;
ArrayList<String> name = new ArrayList<String>();
ArrayList<Integer> value = new ArrayList<Integer>();
try (BufferedReader br = new BufferedReader(new FileReader(getFileName())))
{
while((line = br.readLine()) != null){
name.add(line);
}
} catch (IOException e) {
e.printStackTrace();
}
StringTokenizer tok = new StringTokenizer(line);
while (tok.hasMoreTokens()) {
String token = tok.nextToken(" ");
}
}
我是一个初学者,所以任何方向都会很棒。
【问题讨论】:
-
你必须使用 BufferedReader 吗?
-
不,不一定!
标签: java arraylist bufferedreader filereader tokenize