小编itg*_*k25的帖子

具有多个操作的Java计算器

到目前为止我有以下工作正常.我确定可能有一种更简单的方法可以做到这一点,但我需要改变/改变的是Matheq的顶级方法.Math方法执行单个数学运算.

它适用于带+, - ,*和/的任何单个操作.

我的问题是解决一个更大的等式,例如10 - 10/5 + 3.然而它确实正确地解决了10/5 + 65*2.原因是每个部分,数字和操作都被拆分为字符串数组.每次操作完成后,数字和操作将替换为该等式的结果.可能看起来更令人困惑,但我想不出更好的方法.它无法解决其他方程的原因是因为我将字符串映射回字符串数组.

字符串数组示例 10-10/5 + 3 String = {10, - ,10,/,5,+,3}在操作之后先进行除法然后从左向右减去,然后加上String = {8,8,2,2,2, 5,5}

这是我的代码,有人请帮助我:

修订 改版,现在它的工作原理与上面,但仍然有一些麻烦龙方程.一个简短的例子是它解决了2*2*2*2除以5就好了但是如果改变它那么10 - 2*2*2*2除以5我得到了错误的答案.

 public class Matheq {

String fnum = null;
String lnum = null;
String total = null;

public String Matheq(String mathoperation) {

    String mathoperation= "6 * 3 - 4 * 2";

    mathoperation = mathoperation.replaceAll(",", "");
    mathoperation = mathoperation.replaceAll("plus", "+");
    mathoperation = mathoperation.replaceAll("minus", "-");
    mathoperation = mathoperation.replaceAll("times", "*");
    mathoperation = mathoperation.replaceAll("divided by", "dividedby");
    mathoperation …
Run Code Online (Sandbox Code Playgroud)

java math calculator equation-solving

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

calculator ×1

equation-solving ×1

java ×1

math ×1