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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小穿钉 高级黑马   /  2015-11-10 21:33  /  488 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package cn.stringbuilderdemo;


import java.lang.reflect.Array;
import java.util.Arrays;


/**
* 需求:将整数的字符串进行排序输出,显示在控制台
* 1.将字符串转换成String数组,
* 2.将String数组转变成int数组
* 3.对int数组进行排序
* 4.将int数组转换成字符串,
* 5.打印到控制台
* @author Administrator
*
*/
public class StringSortDemo {
        private static final String DOU_HAO=",";
        public static void main(String[] args) {
                //声明一个字符串
                String str="1,78,67,24,654,-9";
                System.out.println(str);
                System.out.println("------------------------------------");
                str=sortStringNum(str);
                System.out.println(str);
        }
       
       
        /**
         * 方法管理器
         */
        public static String sortStringNum(String str){
                //将字符串变成数组
                String[] str_arr=stringToStringArray(str);
                //将字符串数组转变成int数组
                int[] num_arr=stringArrayToIntArray(str_arr);
                //对int数组进行排序
                intArrayToSort(num_arr);
                //将int数组转变成字符串
                String ss=intArrayToString( num_arr);
                return ss;
        }
       
        /**
         * 将int数组转变成字符换
         */
        public static String intArrayToString(int[] num_arr){
                //将int数组转变成字符串,需要一个容器存储字符串,用单线程效率高的StringBuilder
                StringBuilder s=new StringBuilder();
                //对int数组进行遍历,然后将数据存入StringBuilder
                for(int i=0;i<num_arr.length;i++){
                //对数组进行判断,如果不是最后一个元素,元素后加逗号,如果是最后一个元素,只输出元素就可以了。
                        if(i!=num_arr.length-1){
                        s.append(num_arr+DOU_HAO);
                        }else{
                                s.append(num_arr);
                        }
                }
                return s.toString();
               
        }
       
        /**
         * 对int数组进行排序
         */
        public static void intArrayToSort(int[] num_arr){
                //将int数组进行排序
                Arrays.sort(num_arr);
        }
       
        /**
         * 将字符串数组转变成int数组
         */
        public static int[] stringArrayToIntArray(String[] str_arr){
                //声明一个int数组,长度与String数组相同
                int[] num_arr=new int[str_arr.length];
                //遍历String数组
                for(int i=0;i<str_arr.length;i++){
                        //将字符串数据转变成int类型,并赋值给int数组对应角标的元素
                        num_arr=Integer.parseInt(str_arr);
                }
                //返回int数组
                return num_arr;
               
        }
       
        /**
         * 将字符串转变成字符串数组
         */
        public static String[] stringToStringArray(String str){
                //创建String数组,用来接收分割后的字符串
                String[] str_arr=str.split(DOU_HAO);
                //返回一个String数组
                return str_arr;
        }
       


}


1 个回复

倒序浏览
格式不错!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马