gpt4 book ai didi

java - 可以设置 if 语句来搜索文本文件中的特定模式吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:56:01 25 4
gpt4 key购买 nike

我正在用 Java 开发一个与分数有关的项目。现在在这个项目中,我必须从文本文件中取出一个分数列表,并且根据那一行我必须对它们进行简化、加、减、乘和除。部分文本文件:

-16/6
-7/2
-17
+20 4/2 / +8 4/8
-17/15 + +14/17
+17 5/14 + -2

现在我的问题是,当我从文本文件中拉出一行并读取它时,有没有一种方法可以设置一个 if 语句或其他东西来查找“anynumber_/_anynumber”或“anynumber_anynumber/anynumber”。

如果不是,去除分数的最佳方法是什么?

最佳答案

您可以使用 StringTokenizer 类。我在这里使用您的示例。

String nextLine = "-17/15 + +14/17";      //you read in each line as a String
String delimiters = "+-*/ ";
StringTokenizer st = new StringTokenizer(nextLine, delimiters, true);

while(st.hasMoreElements()){
System.out.println(st.nextElement());
}

它将分为 [ - , 17 ,/, 15 , , + , , + , 14 ,/, 17 ] ,这个 while 循环将它们全部打印出来所以你可以看到分词器是如何作品。然后,您可以将所有操作数和运算符放在堆栈上,并添加逻辑以从那里相应地评估它们。如果您要求特定的方法,您应该提供有关您的项目的更多详细信息。它有点不清楚你想做什么。看起来您想创建一个表达式计算器程序,但随后您还声明您想要一个程序来搜索文件中的除法表达式。

你可以查看每个 token

if(st.nextElement.equals("+"));
if(st.nextElement.equals("-"));
if(st.nextElement.equals("/"));
if(st.nextElement.equals("*"));
if(st.nextElement.equals(" ")); //whitespace
else; //else it is a number

关于java - 可以设置 if 语句来搜索文本文件中的特定模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36799716/

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