java编写一个方法getNums(),传入一个字符串,提取字符串中所有的数值并返回数值列表,多个连在一起的数字可视为一个数值public class NumDemo1 { public static void main(String[] args) { System.out.println(getNums("12%@35e06*a&78")); //输出:[12,35,6,78] System.out.println(getNums("a5Bc24*A%90r#Q8^v")); //输出:[5,24,90,8] } public static List<Integer> getNums(String str){ } }
时间: 2023-12-10 09:41:40 浏览: 58
可以使用正则表达式来实现,代码如下:
```
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class NumDemo1 {
public static void main(String[] args) {
System.out.println(getNums("12%@35e06*a&78")); //输出:[12,35,6,78]
System.out.println(getNums("a5Bc24*A%90r#Q8^v")); //输出:[5,24,90,8]
}
public static List<Integer> getNums(String str){
List<Integer> result = new ArrayList<>();
Pattern pattern = Pattern.compile("\\d+"); //匹配数字
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
result.add(Integer.valueOf(matcher.group())); //将匹配到的数字转换成整数并添加到结果列表中
}
return result;
}
}
```
阅读全文