gpt4 book ai didi

java - 如何使用 BufferedReader 将行放入 ArrayList 中然后执行它们?

转载 作者:太空宇宙 更新时间:2023-11-04 10:39:23 25 4
gpt4 key购买 nike

我正在尝试编写一个程序,该程序将执行文件中的简化编程语言语句并生成输出。文件中有几行将给出诸如变量=表达式、PRINT变量、GOTO'x line'、IF变量IS值THEN ....等语句。END行是最后一行,应该停止程序。

我使用空格作为分隔符,并且知道我需要使用 BufferedReader,然后使用标记器来分割这些行。我正在努力解决的是如何在拆分后存储所有这些语句/变量?并行 ArrayList 是一个好方法吗?如何分别读取每个变量和表达式并对其进行评估?这是我到目前为止所拥有的:

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(" ");

}


}

我是一个完全的初学者,所以任何方向都会很棒。

最佳答案

用于解析指令的 Java 8 流

使用这样的代码:

Files.lines(Paths.get("Test.txt"))
.map(p -> p.toUpperCase())
.collect(Collectors.toList());

您可以获取文件中的所有行,对其进行转换(在本示例中,我只是将字符串设为大写,您可能希望将它们转换为可用的指令,但是您将它们存储在内部),然后将结果项存储到可供使用的列表中。

处理列表中的项目

您需要一个指令指针,然后根据该点的指令,您可以跟随下一条指令、跳转到另一个点或终止执行。

关于java - 如何使用 BufferedReader 将行放入 ArrayList 中然后执行它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49161097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com