代码拉取完成,页面将自动刷新
本题目要求编写的是一个简单的计算器, 该计算器目前只需要支持单位正整数的加、减、乘、除运算,并支持用括号表示优先级别。 和我们小学时学过的算术规则一致,乘法和除法的优先级一样,加法和减法的优先级一样。 乘除法的优先级高于加减法。 括号的优先级最高。 同一优先级的运算顺序为自左向右。 几个简单的例子如下:
1+2 = 3
3-(2+1) = 0
4-(3-1) = 2
1+2*3 = 7
4/2*2 = 4
(1+2)*2+3 = 9
....
对于这个题目,我们要求实现者用Java语言实现一个名为expr的API:
int expr(String input)
一些简单的usecase如下:
expr("1") == 1;
expr("1+2") == 3;
expr("3-2") == 1;
expr("1+2+3") == 6;
expr("1-2+3") == 2;
expr("(1+2)-3") == 0;
expr("1+2*3") == 7;
expr("((2-1)-2)*3+(2-(2+1))*3") == -6;
实现过程中,请使用git工具进行代码管理,推荐使用gitee
题目完成后发邮件给haifeng.jiang@ecarxgroup.com
邮件模版如下:
姓名:张三
部门:智能汽车产品开发及交付事业部/智能座舱研发中心/应用开发部/A线研发组
gitee repo:https://gitee.com/zhangsan/ExprExercise.git
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。