java编写一个程序,由用户输入一组字符串,字符串中包含“+”,“-”,数字,若干空格,以及其他符号。程序需要在字符串中只有数字和“+”,“-”时进行加减法运算。而当字符串中有其他符号时,则输出该符号且不再进行加减法运算。忽略空格
时间: 2024-03-03 11:51:01 浏览: 178
好的,以下是一个可以实现用户输入一组字符串并进行处理的Java程序:
```java
import java.util.Scanner;
public class StringCalculator {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入字符串:");
String input = sc.nextLine().replaceAll(" ", "");
// 判断字符串中是否只包含数字和加减号
if (input.matches("[0-9+-]+")) {
// 将字符串按照加号或减号拆分
String[] numbers = input.split("[+-]");
// 获取符号数组
String[] operators = input.replaceAll("[0-9]+", "").split("");
// 将字符串转换成数字
int[] nums = new int[numbers.length];
for (int i = 0; i < numbers.length; i++) {
nums[i] = Integer.parseInt(numbers[i]);
}
// 进行加减操作
int result = nums[0];
for (int i = 0; i < operators.length; i++) {
if (operators[i].equals("+")) {
result += nums[i+1];
} else if (operators[i].equals("-")) {
result -= nums[i+1];
}
}
System.out.println("计算结果为:" + result);
} else {
// 输出其他符号
System.out.println("输入字符串中包含其他符号");
for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i);
if (c != '+' && c != '-' && c != ' ') {
System.out.print(c + " ");
}
}
}
}
}
```
这个程序首先让用户输入一组字符串,然后使用replaceAll方法将其中的空格删除,并使用正则表达式判断字符串中是否只包含数字和加减号。如果是,则将字符串按照加号或减号拆分成数字数组和符号数组,并进行加减操作,最后输出计算结果。如果不是,则输出其他符号。需要注意的是,在输出其他符号时也需要忽略空格。
阅读全文