- import java.util.Arrays;
- /**
- * 对一个字符串从大到小排列
- * "12,3,23,41,27,36,7,18,39,4"
- * @author admin
- *思路:
- * 1.排序算法,但是只会数组排序
- * 2.将String型的字符串转换为int型的数组
- * 3.对int型的数组进行排序
- * 4.将排序后的数组变为String行的字符串
- */
- public class WrapperTest {
- public static void main(String[] args) {
- String str="12,3,23,41,27,36,7,18,39,4";
- System.out.println(str);
- str=sortStringNum(str);
- System.out.println(str);
- }
- public static String sortStringNum(String str) {
- //1.将字符串变换为字符串数组
- String[] strArray=stringToArray(str);
- //2.将字符串数组变为int型的数组
- int[] toarray=toIntArray(strArray);
- //3.对int型的数组进行排序
- Arrays.sort(toarray);
- //4.将排序后的数组转换为String型的字符串
- String st=arrToString(toarray);
- return st;
- }
- //将排序后的数组转换为String型的字符串
- public static String arrToString(int[] toarray) {
- // 定义StringBuilder型缓冲区用于接收String对象
- StringBuilder sb=new StringBuilder();
- // 依次向StringBuilder型缓冲区中依次添加String型对象
- for (int i = 0; i < toarray.length; i++) {
- if(i!=toarray.length-1)
- sb.append(toarray[i]+" ");
- else
- sb.append(toarray[i]);
-
- }
- return sb.toString();
- }
- //将字符串变换为字符串数组
- public static int[] toIntArray(String[] strArray) {
- // 定义数使数组的长度等于字符串数组的长度
- int[] arr=new int[strArray.length];
- // 遍历字符串数组并将字符串数组的元素转换为整形常量并存储在相对应整形数组中
- for (int i = 0; i < arr.length; i++) {
- arr[i]=Integer.parseInt(strArray[i]);
- }
- return arr;
- }
- //将String型的对象拆分成String型数组
- private static String[] stringToArray(String str) {
- String[] str1=str.split(",");
- return str1;
- }
- }
复制代码
|
|