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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© losttemp 中级黑马   /  2016-5-23 22:07  /  354 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/**
* 23 9 -4 18 100 7" 要求对这串数字按照从小到大排序,生成一个数值有序的字符串。
*
* @author JX
*
*/
public class Test13 {
        public static void main(String[] args) {
                String str = "23 9 -4 18 100 7";
                // 将字符串变成字符数组
                String[] arr = str.split(" ");
                // 定义一个int数组,长度和arr相同
                int[] intarr = new int[arr.length];
                // 将arr中的字符串类型的数字转为Int类型并存入新数组intarr中
                for (int i = 0; i < intarr.length; i++) {
                        intarr[i] = Integer.parseInt(arr[i]);
                }
                // 调用sort方法对数组进行排序
                sort(intarr);
                System.out.println(toString(intarr));
        }

        private static String toString(int[] intarr) {
                StringBuilder sb = new StringBuilder();
                for (int i = 0;; i++) {
                        sb.append(intarr[i]);
                        if (i == intarr.length - 1)
                                return sb.toString();
                        sb.append(" ");
                }
        }

        private static void sort(int[] intarr) {
                for (int i = 0; i < intarr.length - 1; i++) {
                        for (int j = 0; j < intarr.length - i - 1; j++) {
                                if (intarr[j] > intarr[j + 1]) {
                                        int temp = intarr[j];
                                        intarr[j] = intarr[j + 1];
                                        intarr[j + 1] = temp;
                                }
                        }
                }
        }
}

0 个回复

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