用Java正则编写程序实现从键盘:输入一个数字串,提取该字符串中的数字并输出,同时求取数字的累加和
时间: 2024-02-17 18:59:41 浏览: 67
好的,这里是使用 Java 正则表达式来实现的代码:
```java
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ExtractNumbers {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个数字串:");
String str = scanner.nextLine();
int sum = 0;
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
String numStr = matcher.group();
System.out.print(numStr);
sum += Integer.parseInt(numStr);
}
System.out.println("\n数字的累加和为:" + sum);
}
}
```
这个程序使用了正则表达式 `\\d+` 来匹配数字子串。具体来说,`\\d` 表示任意一个数字字符,`+` 表示至少匹配一次。因此,`\\d+` 表示匹配一个或多个数字字符的子串。
程序通过 `Pattern` 类的 `compile()` 方法创建一个正则表达式对象,然后通过 `Matcher` 类的 `matcher()` 方法将该正则表达式应用于输入的字符串 `str`。接着,在 `while` 循环中,程序通过 `find()` 方法查找下一个匹配的子串,如果找到了,则将其提取出来,输出并累加到 `sum` 变量中。最后输出数字的累加和。
希望这个程序能够解决你的问题。如果你还有其他问题,可以继续提出。
阅读全文