对⼀个字符串中的数值进⾏从⼩到⼤的排序 1/*
2 * 对⼀个字符串中的数值进⾏从⼩到⼤的排序。
3 *
4 * "20 78 9 -7 88 36 29"
5 *
6 * 思路:
7 * 1,排序,string要转换成int。
8 * 2,如何获取到这个字符串中的这些需要排序的数值?
9 * 发现这个字符串中其实都是空格来对数值进⾏分隔的。
10 * 所以就想到⽤字符串对象的切割⽅法将⼤串变成多个⼩串。
11 * 3,数值最终变成⼩字符串,怎么变成⼀个int数呢?
12 * 字符串-->基本类型可以使⽤包装类。
13 *
14 * ⼤串变⼩串--》String变int--》int 排序--》int变String
15*/
16
17public class WrapperTest {
18
19private static final String SPACE_SEPARATOR = " ";
20
21public static void main(String[] args) {
22
23        String numStr = "20 78 9 -7 88 36 29";
24
25        System.out.println(numStr);
26        numStr = sortStringNumber(numStr);
27        System.out.println(numStr);
28
29    }
30
31public static String sortStringNumber(String numStr) {
32
33//1,将字符串变成字符串数组。
34        String[] str_arr = stringToArray(numStr);
35
36//2,将字符串数组变成int数组。
37
38int[] num_arr = toIntArray(str_arr);
39
40//3,对int数组排序。
41        mySortArray(num_arr);
42
43//4,将排序后的int数组变成字符串。
44
45        String temp = arrayToString(num_arr);
46
47return temp;
48    }
49//将排序后的int数组变成字符串
50public static String arrayToString(int[] num_arr) {
51
52        StringBuilder sb = new StringBuilder();
53for(int x = 0; x<num_arr.length; x++){
54if(x!=num_arr.length-1)
55                sb.append(num_arr[x]+SPACE_SEPARATOR);
56else
57                sb.append(num_arr[x]);
58        }
59
String();
61    }
62//对int数组排序
63public static void mySortArray(int[] num_arr) {
64
65        Arrays.sort(num_arr);
66    }
67//将字符串数组变成int数组,使⽤parseInt()字符串长度排序c语言
68public static int[] toIntArray(String[] str_arr) {
69
70int[] arr = new int[str_arr.length];
71
72for (int i = 0; i < arr.length; i++) {
73            arr[i] = Integer.parseInt(str_arr[i]);
74        }
75
76return arr;
77    }
78
79
80//将字符串变成字符串数组。
81public static String[] stringToArray(String numStr) {
82        String[] str_arr = numStr.split(SPACE_SEPARATOR); 83
84
85return str_arr;
86    }
87
88 }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。