RPN
复旦大学2021秋数据结构课程实验,逆波兰式
实现的运算符:
(), [], {}
+, -, *, /, %,
|, ^, &, >>, <<, >>>
++, --(仅可后缀), ~(负数)
||, &&
, <, >=, <=
程序简述:
逆波兰表达式生成器
- 逆波兰表达式生成器可接受String类型表达式的输入,输出打印ArrayList类型的中缀表达式和逆波兰表达式。
- 输入的表达式只接受整数,若输入小数会有报错”Invalid”。
- 若输入的表达式中”/”后的数字是0,会有报错”Invalid”。
- 输入表达式中自增自减只接受后缀,无检查和报错机制(没能实现)
逆波兰表达式计算器
- 接受ArrayList类型的逆波兰表达式,其与逆波兰表达式生成器在同一个包中,会调用逆波兰表达式生成器以得到逆波兰表达式,输出整数或浮点数或布尔值的计算结果。
- 若逆波兰表达式中有位运算符或自增自减运算符或求余运算符,则输出结果为整数;若逆波兰表达式中有逻辑运算符或关系运算符,则输出结果为布尔值;若无上述运算符,输出结果为浮点数。
- 与生成器有相同的报错机制