A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. import java.util.Arrays;

  2. /**
  3. * 对一个字符串从大到小排列
  4. *   "12,3,23,41,27,36,7,18,39,4"
  5. * @author admin
  6. *思路:
  7. *  1.排序算法,但是只会数组排序
  8. *  2.将String型的字符串转换为int型的数组
  9. *  3.对int型的数组进行排序
  10. *  4.将排序后的数组变为String行的字符串
  11. */
  12. public class WrapperTest {

  13. public static void main(String[] args) {
  14.    String  str="12,3,23,41,27,36,7,18,39,4";
  15.       System.out.println(str);
  16.    str=sortStringNum(str);
  17.       System.out.println(str);
  18. }

  19. public static String sortStringNum(String str) {
  20.    //1.将字符串变换为字符串数组
  21.   String[]  strArray=stringToArray(str);
  22.       //2.将字符串数组变为int型的数组
  23.   int[]  toarray=toIntArray(strArray);
  24.      //3.对int型的数组进行排序
  25.   Arrays.sort(toarray);
  26.      //4.将排序后的数组转换为String型的字符串
  27.   String  st=arrToString(toarray);
  28.   return st;
  29. }
  30. //将排序后的数组转换为String型的字符串
  31. public static String arrToString(int[] toarray) {
  32. //  定义StringBuilder型缓冲区用于接收String对象
  33.   StringBuilder sb=new  StringBuilder();
  34. //  依次向StringBuilder型缓冲区中依次添加String型对象
  35.   for (int i = 0; i < toarray.length; i++) {
  36.    if(i!=toarray.length-1)
  37.     sb.append(toarray[i]+" ");
  38.    else
  39.     sb.append(toarray[i]);
  40.    
  41.   }
  42.   return sb.toString();
  43. }
  44. //将字符串变换为字符串数组
  45. public static int[] toIntArray(String[] strArray) {
  46. // 定义数使数组的长度等于字符串数组的长度
  47.   int[]  arr=new  int[strArray.length];
  48. //  遍历字符串数组并将字符串数组的元素转换为整形常量并存储在相对应整形数组中
  49.   for (int i = 0; i < arr.length; i++) {
  50.    arr[i]=Integer.parseInt(strArray[i]);
  51.   }
  52.   return arr;
  53. }
  54. //将String型的对象拆分成String型数组
  55. private static String[] stringToArray(String str) {
  56.   String[] str1=str.split(",");
  57.   return   str1;
  58. }

  59. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马