import java.util.Arrays;
/**
有一串字符串a12hh123mm21m78
请将其中的数字提取出来存入数组,使用选择排序算法将其进行排序:
编写方法实现
输出如下结果:
12 21 78 123
评分标准
1. 正确的编写选择排序算法(8分)
2. 正确调用并测试(2分)
*/
public class Test {
public static void main(String[] args) {
String str = "a12hh123mm21m78";
// replaceAll(String regex, String replacement) 使用给定的 replacement
// 替换此字符串所有匹配给定的正则表达式的子字符串。
// 用空格替换str中非数字
str = str.replaceAll("\\D+", " ");
// trim() 返回字符串的副本,忽略前导空白和尾部空格。
// 以空格分割放到字符串数组
String[] arr = str.trim().split(" ");
int[] numbers = new int[arr.length];
for (int i = 0; i < numbers.length; i++) {
// 字符串转整型
numbers[i] = Integer.parseInt(arr[i]);
// 整形转字符串
// arr[i]=Integer.toString(numbers[i]);
}
System.out.println(Arrays.toString(numbers));
// 选择排序
for (int i = 0; i < numbers.length; i++) {
// 选择一个最小的
int min = i;
for (int j = i; j < numbers.length; j++) {
if (numbers[min] > numbers[j]) {
min = j;
}
}
// 交换
int temp = numbers[i];
numbers[i] = numbers[min];
numbers[min] = temp;
}
System.out.println(Arrays.toString(numbers));
}
}
有一串字符串a12hh123mm21m78 ,请将其中的数字提取出来存入数组,使用选择排序算法将其进行排序:
最新推荐文章于 2021-03-10 15:05:39 发布