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

时间:2019-10-16 20:51:36

标签: java

这些方程式之一的示例可能是“ 12/2-14/4”。

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

更多说明: 我是Java初学者,我的老师要求我创建一个程序,该程序创建30个随机分数并将其输出到文本文件。 “玩家”(因为这是某种游戏)必须猜出答案。在游戏进行到下一个分数之前,他们有两个猜测。

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

如果有人知道如何提供帮助,将非常感谢,因为我的课程在线上,而且我无法与老师坐下来寻求帮助。

2 个答案:

答案 0 :(得分:0)

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

顺便说一句。不要使用String.equals()与数字值进行比较,因为它会比较对象/变量的哈希值,而不是实际值。

希望您可以使用它。

答案 1 :(得分:0)

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

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

允许您从数学运算符中分离出分数(假设所有分数均由空格分隔),然后允许您获取组成分数的数字,以String []分数表示。

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