用Java编写一个代码,使其传入一个字符串,提取字符串中所有的数值并返回数值列表,多个连在一起的数字视为一个数值
时间: 2024-02-06 21:12:34 浏览: 56
好的,以下是Java代码的实现:
```java
import java.util.ArrayList;
import java.util.List;
public class NumberExtractor {
public static List<Integer> extractNumbers(String input) {
List<Integer> numbers = new ArrayList<Integer>();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i);
if (Character.isDigit(c)) {
sb.append(c);
} else {
if (sb.length() > 0) {
numbers.add(Integer.parseInt(sb.toString()));
sb.setLength(0);
}
}
}
if (sb.length() > 0) {
numbers.add(Integer.parseInt(sb.toString()));
}
return numbers;
}
public static void main(String[] args) {
String input = "abc 123 45 6 789 def";
List<Integer> numbers = extractNumbers(input);
System.out.println(numbers);
}
}
```
输入一个字符串,该程序将提取其中的数值并返回数值列表。在这个实现中,我们使用 StringBuilder 来构建每个数值,当遇到非数字字符时,我们将 StringBuilder 中的内容转换为整数并添加到列表中。最后,如果 StringBuilder 不为空,我们添加最后的数值。
上面的代码会输出以下结果:
```
[123, 45, 6, 789]
```
阅读全文