用自己的变量“版本”替换字符串的任何方法[重复]

问题描述 投票:0回答:0

我非常希望它能如此有效,然后当我遇到错误时我遭到了毁灭性的打击。本质上我有一个表达式,我想用我的整数变量 dx 替换字符串的值,这样如果我将它解析为一个 int 值将是系数乘以 dx

int dx = 9;
    
    String function = "7x + 9x + 7x";
    

    String sumRepeated = function.replaceAll("x", "*(dx)");
    System.out.println(sumRepeated);
    int sum1 = Integer.parseInt(sumRepeated);
    

我认为因为字符串输出是 7*(dx) + 9*(dx) + 7*(dx) 所以如果我简单地将字符串解析为 int 它将返回恰好为 207 的数字值因为 dx 是一个变量,但唉,我的恐惧抓住了我,我的世界塌陷了,当我看到红色的 java 异常时,激情的欢乐火焰已经熄灭了。

请不要让我参考How to evaluate a math expression given in string form? this does not answer my question for the listed reasons

  1. 这太简单了,我想使用解析来评估函数,这不是我的目标我会做数学运算我只需要知道如何将变量放入字符串中并让它成为一个变量而不是字符串然后我会自己写代码如何评价
  2. 老实说,我希望我有一个比这更好的借口,但另一个原因是我不知道那里有人在谈论什么,我确实研究了如何自己制作一个解析器,但似乎我应该先通过数据算法课程我试着去理解这样的事情
java parsing math tostring
© www.soinside.com 2019 - 2024. All rights reserved.