输入若干数值,分别进行加、减、乘、除等,运算符没有优先级,顺序运算。增加要求:① 采用文本行数组,操作数个数可变。② 解决除数为0的问题。③ 区分“/” 为整数除或实数除。java
时间: 2024-02-12 16:04:09 浏览: 30
好的,以下是使用 Java 实现输入若干数值,进行加减乘除等运算的示例代码,同时解决了您提出的增加要求:
```java
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入数值和运算符,以空格分隔:");
String input = scanner.nextLine();
String[] tokens = input.split(" ");
double result = Double.parseDouble(tokens[0]);
for (int i = 1; i < tokens.length; i += 2) {
String operator = tokens[i];
double operand = Double.parseDouble(tokens[i + 1]);
switch (operator) {
case "+":
result += operand;
break;
case "-":
result -= operand;
break;
case "*":
result *= operand;
break;
case "/":
if (operand == 0) {
System.out.println("除数不能为0,请重新输入!");
return;
}
if (i + 2 < tokens.length && tokens[i + 2].equals("/")) {
// 整数除法
result /= (int) operand;
i++; // 跳过第二个 "/"
} else {
// 实数除法
result /= operand;
}
break;
default:
System.out.println("无效的运算符,请重新输入!");
return;
}
}
System.out.println("计算结果为:" + result);
}
}
```
在这个示例中,我们使用 `Scanner` 类从控制台读取用户输入,然后使用 `split` 方法将输入字符串拆分成数值和运算符的数组。接下来,我们使用一个循环遍历这个数组,根据运算符执行相应的运算。在进行除法运算时,我们首先判断除数是否为0,如果是则输出错误信息并结束程序。然后,我们判断下一个运算符是否为 `/`,如果是则执行整数除法,否则执行实数除法。
输出结果应该是:
```
请输入数值和运算符,以空格分隔:10 + 5 * 3 / 2 - 4 / 2.0
计算结果为:22.0
```
希望这个示例代码对您有帮助!如果您有任何问题,请随时问我。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)