首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >字符串变量返回为双精度

字符串变量返回为双精度
EN

Stack Overflow用户
提问于 2014-01-17 01:00:12
回答 1查看 34关注 0票数 0

创建一个名为parseEqn的方法,该方法将接收1个字符串变量,并返回传递给它的表达式的双精度值。

代码语言:javascript
运行
复制
parseEqn("123+23") → 146.0
parseEqn("3+5") → 8.0
parseEqn("3-5") → -2.0

所以这就是问题^,我认为我需要做的是首先使用字符串标记器将字符串拆分,然后将标记转换为双精度,然后根据operator...but进行加或减,我不确定。

这是我到目前为止所拥有的

代码语言:javascript
运行
复制
public double parseEqn(String str) {

StringTokenizer st = new StringTokenizer(str, "+-", true);


String first= st.nextToken();
String op= st.nextToken();
String second= st.nextToken();

 double num1 = Double.parseDouble(first);

  double num2 = Double.parseDouble(second);

if (op.equals("+")){
 return num1+num2;
} 
else (op.equals("-")){
 return num1-num2;
}

不过我不知道...

EN

回答 1

Stack Overflow用户

发布于 2014-01-17 01:05:12

编写表达式解析器不是一件微不足道的任务。解析任意中缀表达式的标准算法是shunting-yard algorithm。其思想是遍历每个标记,并根据输入构建一个反向波兰语符号(RPN)表达式。RPN表达式本质上是一个基于堆栈的操作列表,它对计算机来说非常容易使用(并且很容易编写代码进行计算)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21168087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档