黑马程序员技术交流社区

标题: java练习:将字符串中的数值从大到小的排序 [打印本页]

作者: lvshen9    时间: 2017-3-15 10:52
标题: java练习:将字符串中的数值从大到小的排序
[AppleScript] 纯文本查看 复制代码
package myexam.test24;

/**
* 练习:将字符串中的数值从大到小的排序
* "20 78 9 -7 88 36 29"中间有空格
*
* @author lvshen
*
*/
public class MyTest8 {
       
        private static final String SPACE_SEPARATOR=" ";
        public static void main(String[] args) {
                String str="20 78 9 -7 88 36 29";
                //字符串排序
                String newStr=sortStringArrays(getStringArrays(str));
                //打印排序后的字符串
                System.out.println(newStr);
        }
        /**
         * 创建将字符串拆分成字符串数组的方法
         * @param str 目标字符串
         */
        public static String[] getStringArrays(String str){
                String[] strs=str.split(SPACE_SEPARATOR);
                return strs;
        }
        /**
         * 创建一个字符串从大到小的排序方法
         * @param strs 拆分成的字符串数组
         */
        public static String sortStringArrays(String[] strs){
                for (int i = 0; i < strs.length-1; i++) {
                        for(int j=i+1;j<strs.length;j++){
                                if(Integer.parseInt(strs)<Integer.parseInt(strs[j])){
                                        swap(strs,i,j);
                                }
                        }
                }
                return printToString(strs);
        }
        /**
         * 创建一个数组元素交换方法
         * @param strs 数组
         * @param i 数组元素角标
         * @param j 数组元素角标
         */
        private static void swap(String[] strs, int i, int j) {
                String temp=strs;
                strs=strs[j];
                strs[j]=temp;
        }
        /**
         * 将字符串数组转变为字符串
         * @param strs 字符串数组
         * @return 字符串
         */
        public static String printToString(String[] strs){
                //创建一个字符串存储器
                StringBuilder sb=new StringBuilder();
                System.out.print("\"");
                for (int i = 0; i < strs.length; i++) {
                        if(i==strs.length-1){
                                sb.append(strs+"\"");
                        }else{
                                sb.append(strs+SPACE_SEPARATOR);
                        }
                }
                return sb.toString();
        }
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2