返回顶部
首页 > 资讯 > 精选 >四则运算表达式求值
  • 499
分享到

四则运算表达式求值

2023-06-03 00:06:39 499人浏览 薄情痞子
摘要

四则运算表达式求值两个要点1.中缀表达式转后缀表达式2.后缀表达式求值中缀表达式转后缀表达式从左到右遍历中缀表达式的每个数字和符号.若是数字就输出,成为后缀表达式的一部分.若是符号则判断其与栈顶符号的优先级,是右括号或者优先级低于等于栈顶符

四则运算表达式求值
两个要点
1.中缀表达式转后缀表达式
2.后缀表达式求值

中缀表达式转后缀表达式
从左到右遍历中缀表达式的每个数字和符号.
若是数字就输出,成为后缀表达式的一部分.
若是符号则判断其与栈顶符号的优先级,是右括号或者优先级低于等于栈顶符号,则栈顶元素依次出栈并输出,再将当前的符号进栈。一直到最终输出后缀表达式为止。

后缀表达式求值
从左至右遍历表达式的每个数字和符号,遇到数字就进栈,遇到符号,就弹出栈顶两个元素运算,再将运算结果入栈。一直到最终获得结果。

jdk 1.7+

  1. "9 + ( 3 - 1 ) * 3 + 10 / 2";  
  2.         System.out.println(calc(target));  
  3.     }  
  4.   
  5.     // 中缀表达式转后缀表达式  
  6.     " ");  
  7.   
  8.         ")":  
  9.                 "(")) {  
  10.                     '(')) {  
  11.                         result.addLast(ele);  
  12.                     }  
  13.                 }  
  14.                 "(":  
  15.                 stack.addFirst(c);  
  16.                 "+":  
  17.             "-":  
  18.                 "*") || ele.equals("/") || ele.equals("+") || ele.equals("-")) {  
  19.                         result.addLast(stack.removeFirst());  
  20.                     } "*":  
  21.             "/":  
  22.                 stack.addFirst(c);  
  23.                 "*") || ele.equals("/") || ele.equals("+") || ele.equals("-")) {  
  24.                 Float f1 = result.removeFirst();  
  25.                 Float f2 = result.removeFirst();  
  26.                 "+":  
  27.                     result.addFirst(f2 + f1);  
  28.                     "-":  
  29.                     result.addFirst(f2 - f1);  
  30.                     "*":  
  31.                     result.addFirst(f2 * f1);  
  32.                     "/":  
  33.                     result.addFirst(f2 / f1);  
  34.                     break;  
  35.                 }  
  36.             } else {  
  37.                 result.addFirst(Float.valueOf(ele));  
  38.             }  
  39.         }  
  40.         return result.removeFirst();  
  41.     }  
  42. }  

结果:
[9, 3, 1, -, 3, *, +, 10, 2, /, +]
20.0

--结束END--

本文标题: 四则运算表达式求值

本文链接: https://lsjlt.com/news/231765.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 四则运算表达式求值
    四则运算表达式求值两个要点1.中缀表达式转后缀表达式2.后缀表达式求值中缀表达式转后缀表达式从左到右遍历中缀表达式的每个数字和符号.若是数字就输出,成为后缀表达式的一部分.若是符号则判断其与栈顶符号的优先级,是右括号或者优先级低于等于栈顶符...
    99+
    2023-06-03
  • python四则运算表达式求值的方法
    这篇文章主要讲解了“python四则运算表达式求值的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python四则运算表达式求值的方法”吧!四则运算表达式求值思路说明使用双栈来实现&am...
    99+
    2023-07-02
  • python四则运算表达式求值示例详解
    目录四则运算表达式求值思路说明算法步骤代码四则运算表达式求值 思路说明 使用双栈来实现——存放数值的栈 nums 与存放运算符的栈&nbs...
    99+
    2024-04-02
  • java算术表达式求值怎么写
    要求解一个算术表达式的值,可以使用栈来实现。具体步骤如下: 创建两个栈,一个用于存储操作符(operatorStack),一个用于...
    99+
    2023-10-23
    java
  • Python正则表达式初识(四)
    今天继续给大家分享Python正则表达式基础知识,主要给大家介绍一下特殊字符“{}”的用法,具体的教程如下。特殊字符“{}”实质上也是一个限定词的用法,其限定前面字符所出现的次数,其常用的模式有三种,分别是“{数字}”、“{数字,}”和“{...
    99+
    2023-01-31
    正则表达式 Python
  • python四则运算
    #四则运算,和输出运算结果a=float(input('请输入一个整数: '))b=float(input('请输入另一个整数: '))c=input('输入一个四则运算符号: ')if c=='+': print('两数相加: ',...
    99+
    2023-09-30
    python 数学建模 开发语言
  • linux中awk、正则表达式、正则运算符怎么用
    小编给大家分享一下linux中awk、正则表达式、正则运算符怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用awk作为文本处理工具,正则表达式是少不了的。...
    99+
    2023-06-13
  • C++表达式求值详解
    目录一.细节处理:1.注意负数 因此要进行字符串预处理2.考虑除数为03.原字符串再加上一个定界符 '#'4.优先级:二.知识要点:三.完整源码:四.测试结果:总结一.细节处理: 1...
    99+
    2024-04-02
  • 四则运算作业
    代码: # -*- coding: utf-8 -*-import randomfrom fractions import Fractionfrom envs.py3k.Lib.symbol import except_clausepri...
    99+
    2023-01-31
    作业
  • 正则表达式-问号的四种用法
    问号在正则表达式中有四种常见的用法:1. 匹配零个或一个字符:在正则表达式中使用问号表示前面的字符或子表达式可选,即出现零次或一次。...
    99+
    2023-09-02
    正则表达式
  • c语言逻辑表达式的运算规则是什么
    C语言逻辑表达式的运算规则如下:1. 逻辑与(&&):如果两个操作数都为真(非零),则结果为真;否则为假(0)。2. 逻辑或(||)...
    99+
    2023-08-16
    c语言
  • Python for Informatics 第11章之正则表达式(四)
    注:以下文章原文来自于Dr Charles Severance 的 《Python for Informatics》 11.3 组合查询和抽取   如果我们想以“X-”字符串开头的行中找到数字,就像下面...
    99+
    2022-06-04
    正则表达式 Python Informatics
  • 正则表达式的运行时优化
    php小编柚子为大家介绍正则表达式的运行时优化。正则表达式是一种用于字符串匹配和处理的强大工具,但在处理大规模数据时可能会导致性能问题。为了提高正则表达式的执行效率,我们可以采取一些优...
    99+
    2024-02-11
  • 正则表达式
    2019-01-16 作用 :     路由匹配,表单信息的验证  (字符串匹配) 信息提取(在大段文本中提取信息,爬虫) 字符串的提取和校验 []在中括号内匹配任意项  [^]不匹配中括号中的任意一项    [0-9]  0123......
    99+
    2023-01-30
    正则表达式
  • SHELL四则运算和比较
    1.操作符(let 标志符) + 加法- 减法* 乘法/ 除法** 幂运算 3 let "z=5**3"% 取模 ...
    99+
    2022-06-04
    SHELL
  • C++中的运算符和表达式
    目录(1)算术表达式(2)赋值运算符(3)逗号运算符(4)关系运算符(5)三元表达式(6)sizeof函数(7)数据类型转换(7.1)显式转换(7.2)隐式转换(8)总结 在编程语言...
    99+
    2024-04-02
  • C#运算符表达式的使用
    这篇文章主要介绍“C#运算符表达式的使用”,在日常操作中,相信很多人在C#运算符表达式的使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#运算符表达式的使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-18
  • Python -- 三元表达式(三目运算
    一些语言(如Java)的三元表达式形如: 判定条件为真时的结果:为假时的结果 Python的三元表达式有如下几种书写方法: if __name__ == '__main__': a = '' b = 'True' c = 'F...
    99+
    2023-01-31
    表达式 Python
  • C语言运算符与表达式
    目录表达式函 数 概 述赋值运算符与赋值表达式变量赋初值自动类型转换强制类型转换算数运算符与表达式算术运算符算术表达式优先级与结合性自增自减运算符关系运算符与表达式优先级与结合性逻辑...
    99+
    2024-04-02
  • ORACLE 正则表达式
    ORACLE中的支持正则表达式的函数主要有下面四个:1,REGEXP_LIKE :与LIKE的功能相似2,REGEXP_INSTR :与INSTR的功能相似3,REGEXP_SUBSTR :与SUBSTR的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作