如何在Java中将分数方程计算为分数?

如何在Java中将分数方程计算为分数?,java,Java,其中一个等式的示例可以是“12/2-14/4” 我需要一种方法,可以读取一个文本文件的方程,并可以计算出分数的答案。我需要能够检查输入是否与这个答案相同,所以我认为以字符串形式输出是一种方法 如需进一步澄清: 我是一名Java初学者,我的老师让我创建一个程序,创建30个随机分数并将其输出到文本文件中。“玩家”(因为这是某种游戏)必须猜出答案。在游戏进入下一个分数之前,他们有两次猜测 我有30个随机分数发生器在工作。每个分数位于文本文件的单独一行上 如果有人知道如何帮助我,我将不胜感激,因为我的课

其中一个等式的示例可以是“12/2-14/4”

我需要一种方法,可以读取一个文本文件的方程,并可以计算出分数的答案。我需要能够检查输入是否与这个答案相同,所以我认为以字符串形式输出是一种方法

如需进一步澄清: 我是一名Java初学者,我的老师让我创建一个程序,创建30个随机分数并将其输出到文本文件中。“玩家”(因为这是某种游戏)必须猜出答案。在游戏进入下一个分数之前,他们有两次猜测

我有30个随机分数发生器在工作。每个分数位于文本文件的单独一行上


如果有人知道如何帮助我,我将不胜感激,因为我的课堂是在线的,我不能坐下来和老师寻求帮助

尝试Java FileReader类和
File.readLine()
-方法。现在您必须使用
double value=double.parseDouble(text)将其传递给double并计算它。在计算之前,您应该将字符串拆分,例如“=”以分隔结果。计算后,可以将结果与读取的字符串进行比较,并返回true或false

顺便说一句,不要使用
String.equals()
来比较数字的值,因为它比较的是对象/变量的散列值,而不是实际值


希望你能做到这一点

我会使用正则表达式。这允许您在字符串中使用模式。例如:

    String equation = "12/2 - 14/4";
    String[] splitEq = equation.split(" "); //Splits using spaces
    for(String str : splitEq) {
        if (str.matches("\\d+/\\d+")) { //Uses a regex, "\\d+/\\d+" that represents at least one digit followed by a "/" followed by at least on digit
            String[] fraction = str.split("/");
        }
    }
允许您从数学运算符中分离出分数(假设所有分数都由空格分隔),然后允许您获得组成分数的数字,以字符串[]分数形式


数学运算符将是字符串[]splitEq中的第二个元素。

欢迎使用堆栈溢出。请阅读帮助页面,参加SO之旅,阅读如何提出好问题,以及此问题清单。最后,请学习如何创建一个最小的可复制示例来向我们展示,重点是最小部分。这对于堆栈溢出来说可能有点宽泛,因为其中有太多的位—解析表达式,处理括号,将分数转换为最简单的形式,添加分数,减去分数,乘分数和除分数。您可能希望一次添加一个功能,但这是您在这里开始的一个大项目。