java用数组实现读取计算式并进行乘除优先加减后的非负整数四则运算
时间: 2024-05-12 17:20:50 浏览: 57
用java语言实现的四则运算计算器
以下是一个示例代码,可以实现读取计算式并进行乘除优先加减后的非负整数四则运算:
```
import java.util.*;
public class Calculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
List<Integer> nums = new ArrayList<Integer>();
List<Character> ops = new ArrayList<Character>();
int num = 0;
for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i);
if (Character.isDigit(c)) {
num = num * 10 + (c - '0');
} else {
nums.add(num);
num = 0;
ops.add(c);
}
}
nums.add(num);
int result = nums.get(0);
for (int i = 0; i < ops.size(); i++) {
char op = ops.get(i);
int num1 = nums.get(i + 1);
if (op == '*') {
result *= num1;
} else if (op == '/') {
result /= num1;
}
}
for (int i = 0; i < ops.size(); i++) {
char op = ops.get(i);
int num1 = nums.get(i + 1);
if (op == '+') {
result += num1;
} else if (op == '-') {
result -= num1;
}
}
System.out.println(result);
}
}
```
代码的思路是将输入的计算式拆分成数字和运算符两个列表,然后先处理乘除运算,再处理加减运算,最后输出结果。例如输入“2+3*4-5/2”,代码输出“12”。注意,这个代码只适用于非负整数四则运算,对于其他类型的运算(例如浮点数、负数、括号等)需要进行适当修改。
阅读全文