9.使用if-else 语句和 switch语句设计一个程序,使其可以识别有两个操作符(操作符可以是加、减、乘、除)的表达式。要注意操作符有优先级。运行时输入输出情况如下: 请输入一个表达式(eg.1+2*3):1+2*31+2*3=7给出代码
时间: 2024-11-06 07:23:50 浏览: 10
Java语言程序设计:JAVA_3-运算符、表达式和语句.ppt
为了实现这个程序,我们可以使用if-else if结构来处理四种基本运算,并考虑到运算符的优先级。这里是一个简单的Python示例:
```python
def calculate_expression(expression):
# 定义运算函数
def operate(num1, operator, num2):
if operator == '+':
return num1 + num2
elif operator == '-':
return num1 - num2
elif operator == '*':
return num1 * num2
elif operator == '/':
if num2 != 0:
return num1 / num2
else:
print("错误:除数不能为零")
return None
# 分割表达式为数字和运算符
parts = expression.split()
if len(parts) < 3:
print("输入不合法,请包含两个操作数和一个操作符。")
return
try:
# 将字符串转换为整数
num1, operator, num2 = int(parts[0]), parts[1], int(parts[2])
# 使用switch-like结构处理运算
result = operate(num1, operator, num2)
if result is not None:
print(f"{expression}={result}")
except ValueError:
print("错误:输入的不是有效的整数。")
# 接收用户输入并计算
input_expr = input("请输入一个表达式(eg.1+2*3): ")
calculate_expression(input_expr)
```
在这个程序中,我们首先定义了一个内部函数`operate`来处理具体的算术运算。然后,我们将用户输入的表达式分割成三个部分(两个数字和一个运算符)。如果输入不满足条件(例如,长度不够或包含非数字字符),我们会提供相应的错误提示。
阅读全文