gpt4 book ai didi

java - java从文件中读取和写入表达式

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

您好,第一次使用这里的用户,不确定我这样做是否正确,但这里什么也没有。

我正在尝试通过从文件读取数学表达式,例如 3*(2+7)-9 或 11/5*(3+3),然后将答案写回文件。我不确定如何读取整个表达式,因为我只做了一些简单的事情,例如读取 3 个字符串并从文件中继续下一次。这个想法是使用从文件中读取的表达式并使用 java 中的堆栈来计算它们。我知道如何在不读取文件的情况下计算它,但不太确定如何将它们组合成一个工作程序,有什么想法或技巧吗?

最佳答案

这取决于您如何认为或知道数学表达式将写入文本文件中。如果这是一个仅包含由某个字符分隔的表达式的文件,那么您可以使用如下内容:

    ArrayList<String> expressions = new ArrayList<String>();
try (Scanner s = new Scanner(new File("test.txt"))) {
while (s.hasNextLine()) {
String fullLine = s.nextLine();
String[] expArray = fullLine.split(",");
for (String exp : expArray) {
expressions.add(exp);
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}

如果您不愿意,则不必将其打包到数组列表中。您可以计算它并将其直接打印到文件中。但这将获取文件的每一整行并将其分成每个逗号之间的字符串片段。

在这种情况下我只是假设有一个逗号。如果表达式之间用空格分隔,您可以绕过 .split() 并仅使用 s.next() 而不是 s.nextLine()

您还可以使用 Scanner 的 useDelimiter() 函数。将分隔符设置为分隔表达式的任何内容,然后当您使用 s.next() 时,它将为您提供分隔符之间的标记。

您还需要做更多的事情来实际解析表达式,因为它当前存储为字符串。那应该不会太难。

关于java - java从文件中读取和写入表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58667714/

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