首页 > 其他分享 >四则运算中对负数的处理

四则运算中对负数的处理

时间:2022-11-01 17:11:51浏览次数:80  
标签:1.5 String 处理 四则运算 +- 负数 cccc 123 100

解决方法:在负数前面进行补0,如 -a-100 -> (0-a)-100, 之后用逆波兰表达的方法计算即可。
java 测试代码:

public static void main(String[] args) throws Exception{
      String[] exps = new String[]{"-a-100", "a-b-1", "a-(b-b)", "(y-0.123)-99.87", "A*(-1)", "(-b)/c", "-0.12*c", "a+-123.333/c","(a+-1)/c","a+(-1.5/c)", "c-(1.2-7.8)", "t-1.7777", "a+ b /3 +(2 + cccc)+(123)", "a+ -b /3 +(-2 + cccc)+(123)"};
      for (String exp : exps) {
          String newExp = exp.replaceAll("(?<![0-9a-zA-Z\\)])-(\\d+(\\.\\d+)*|\\w+)", "(0-$1)");
          System.out.printf("%s -> ", exp);
          System.out.println(newExp);
      }
}

结果:

-a-100 -> (0-a)-100
a-b-1 -> a-b-1
a-(b-b) -> a-(b-b)
(y-0.123)-99.87 -> (y-0.123)-99.87
A*(-1) -> A*((0-1))
(-b)/c -> ((0-b))/c
-0.12*c -> (0-0.12)*c
a+-123.333/c -> a+(0-123.333)/c
(a+-1)/c -> (a+(0-1))/c
a+(-1.5/c) -> a+((0-1.5)/c)
c-(1.2-7.8) -> c-(1.2-7.8)
t-1.7777 -> t-1.7777
a+ b /3 +(2 + cccc)+(123) -> a+ b /3 +(2 + cccc)+(123)
a+ -b /3 +(-2 + cccc)+(123) -> a+ (0-b) /3 +((0-2) + cccc)+(123)

标签:1.5,String,处理,四则运算,+-,负数,cccc,123,100
From: https://www.cnblogs.com/f-society/p/16848381.html

相关文章

  • 深度学习从入门到精通——基于深度学习的地震数据去噪处理
    传统机器学习SVM,boosting,bagging,knn深度学习CNN(典型),GAN地震应用方向叠前地震数据随机噪声去除,实现噪声分离面波去噪面波作为很强的干扰波出现在地震勘探中,大大......
  • ENVI5.6.2中北京三号卫星A星数据处理方法
    北京三号卫星A星于2021年6月11日,搭载了0.5米全色、2米多光谱(蓝、绿、红、近红外波段)相机,成像宽幅优于23km。ENVI5.6.2中完全支持北京三号卫星A星图像数据处理,包括数据打开......
  • shell中的文本处理命令和正则表达式
    一、文本处理命令1.1、sort命令 使用格式:sort [选项] 参数常见选项:选项作用-f忽略大小写,将小写字母转换成大写字母来比较-b忽略每行前面的空格-n......
  • 软件开发中的风险如何处理?
    如何处理软件开发中的风险?下面我们就以上四大类别中的一些主要风险进行具体分析以及提出应对策略。需求变更风险需求变更风险是指需求已经成为项目基准,但需求还在......
  • js 对DOM观察大小改变的处理通知方法。ResizeObserver的应用。
    环境代码示例使用了VUE3的setup的语法糖。代码//这里使用弱引用//key是DOM实例//value是溢出的结果,true标识溢出,false标识没有溢出。constoverflowResultMap=......
  • 实验3:文法问题处理器
    一、实验内容设计一个应用软件,以实现文法的化简及各种问题的处理。二、实验要求必做内容系统需要提供一个文法编辑界面,让用户输入文法规则(可保存、打开存有文法规......
  • yii2、百度地图、bootstrap冲突的处理过程
    前段时间,因为工作需要,借助百度地图api,写了一个小小的web工具,用于按关键词标注一些地点并展示出来。解决了前期的关键点,工作完成了七七八八之后,我发现,yii2自带的bootstrap3......
  • 笔记本安装ubuntu,触控板右键失灵处理
    在安装Ubuntu®18.04LTS后,触摸板右键单击可能无法正常工作。这不是操作系统或触摸板的问题。Gnome默认使用Mac触摸板行为,其中整个触摸板是一个按钮。要右键单击,请......
  • 高并发和分布式中的幂等处理
    高并发和分布式中的幂等处理概念幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。在编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一......
  • 批处理删除指定后缀的旧文件并保留该后缀最新的几个文件的dos命令
    setnum=3setsuffix=logfor/f"skip=%num%tokens=*delims="%%iin('dir/b/o-d*.%suffix%')dodel/f/q"%%i"前两行是指定保留文件的个数和指定的文件后缀......