【讨论】一个很考验逻辑的java技能鉴定题目...

与大家分享下最近公司给出的一个java2级技能鉴定题目,看起来很简单,但是实现起来自己感觉相当麻烦,不过花了将近一天时间才实现该功能,让自己很有挫败感!希望大家积极的讨论下,希望大牛们给出比较好的解决方案。。。
稍后我会贴出自己的实现的源代码
题目:
实现1~3个数值带括号加减乘除四则运算的功能。
输入需要运算的字符表达式,返回运算以后的结果。
要求:
1、输入的表达式小于等于80个字符,超过有效长度部分不算有效表达式。

2、表达式由”+”、”-“、”*”、”/“、”0~9”、”(“、”)”字符组成,其他字符为非法字符。有非法字符输入按输入错误处理。注意空格是非法字符。

3、表达式满足的定义如下:
表达式 = 数值
表达式 = 表达式 + 运算符(“+”或”-”或“*”或”/”) + 表达式
表达式 = “(” + 表达式 + “)”
数值 = 十进制数值

4、十进制数值由”0”~”9”数字构成,取值范围为: -32768~32767。
正数数值前缀可以带”+”,也可以不带”+”,负数数值前缀必需带”-”。
符号前缀和数值之间不能有其他字符分隔。
数值位数大于等于两位时,首位不能为数值”0”。

表达式错误提示语信息:
1.输入无效
2.除数不能为0
3.缺少左括号
4.缺少右括号
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值