对⼀个字符串中的数值进⾏从⼩到⼤的排序 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小时内删除。
发表评论