在Java里输入一个其中包含数字的字符串,提取其中的数字组成一个整数,并输出。如输入“wdfg23gfh56”,得到的整数位2356.
时间: 2024-09-21 16:08:56 浏览: 37
可重构平台上基于环路的自动管道优化
在Java中,你可以使用正则表达式结合`Scanner`类来完成这个任务。首先,创建一个`String`变量存储输入的字符串,然后利用正则表达式的匹配功能找到所有的数字,并将它们连接成一个新的整数。以下是简单的步骤:
```java
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个包含数字的字符串:");
String input = scanner.nextLine();
// 定义正则表达式匹配整数,包括负数
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(input);
int number = 0;
while (matcher.find()) {
// 将每次找到的数字转换为int并累加到总和
number *= 10; // 因为上一次循环结束会乘以10,所以这里不需要再除以10
number += Integer.parseInt(matcher.group());
}
System.out.println("提取出的整数是: " + number);
scanner.close();
}
}
```
当你运行这段代码并输入"wdfg23gfh56"时,它将输出整数2356。
阅读全文