用表达式树写一个5+3*6的Java代码
时间: 2024-02-11 08:06:20 浏览: 78
用java写的计算器代码
以下是一个示例代码,使用表达式树来计算5+3*6的值:
```
class ExpressionNode {
char operator;
int value;
ExpressionNode left;
ExpressionNode right;
}
public int evaluate(ExpressionNode node) {
if (node == null) {
return 0;
}
if (node.left == null && node.right == null) {
return node.value;
}
int leftValue = evaluate(node.left);
int rightValue = evaluate(node.right);
switch (node.operator) {
case '+':
return leftValue + rightValue;
case '-':
return leftValue - rightValue;
case '*':
return leftValue * rightValue;
case '/':
return leftValue / rightValue;
default:
return 0;
}
}
// 构建表达式树
ExpressionNode root = new ExpressionNode();
root.operator = '+';
root.left = new ExpressionNode();
root.left.value = 5;
root.right = new ExpressionNode();
root.right.operator = '*';
root.right.left = new ExpressionNode();
root.right.left.value = 3;
root.right.right = new ExpressionNode();
root.right.right.value = 6;
// 计算表达式树的值
int result = evaluate(root);
System.out.println(result);
```
输出结果为23,即5+3*6的值。
阅读全文