在spring boot中用post请求写一则四则混合运算,不要出现stream
时间: 2024-09-19 13:05:50 浏览: 44
在Spring Boot中,你可以创建一个RESTful API来处理POST请求,并完成四则混合运算。首先,你需要创建一个Controller来接收请求,然后解析请求体中的数据,计算结果,并返回响应。下面是一个简单的示例,假设我们使用@RestController、@PostMapping和RequestBody注解:
```java
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MathCalculatorController {
@PostMapping("/calculate")
public String calculate(@RequestBody String expression) {
try {
// 使用StringTokenizer或正则表达式分割表达式
String[] numbersAndOperations = expression.split(" ");
double result = 0;
for (int i = 0; i < numbersAndOperations.length - 1; i += 2) {
double num1 = Double.parseDouble(numbersAndOperations[i]);
char operation = numbersAndOperations[i + 1].charAt(0); // 提取操作符
double num2 = Double.parseDouble(numbersAndOperations[i + 2]);
switch (operation) {
case '+':
result += num2;
break;
case '-':
result -= num2;
break;
case '*':
result *= num2;
break;
case '/':
if (num2 != 0) { // 避免除数为零的情况
result /= num2;
} else {
throw new IllegalArgumentException("Division by zero is not allowed");
}
break;
default:
throw new IllegalArgumentException("Invalid operator: " + operation);
}
}
return String.valueOf(result);
} catch (NumberFormatException e) {
return "Invalid input format. Please provide a valid mathematical expression.";
}
}
}
```
在这个例子中,API会接受一个字符串形式的数学表达式,如"3 + 5 * 2 / 6",然后按照顺序处理加、减、乘、除运算。注意这里没有使用Stream,因为题目要求避免。
阅读全文