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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 他的好 中级黑马   /  2016-7-4 23:13  /  1748 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

(1)有一个数字字符串"25 11 -6 20 102 9",数字之间用空格间隔
    (2)利用冒泡排序对这串数字按照从小到大排序,生成一个数值有序的字符串"-6 9 11 20 25 102"
    (3)提示:用String类提供的split方法(用" "(空格)作为split方法的参数来切割),然后生成对应的数字字符串数组

9 个回复

倒序浏览
String s = "25 11 -6 20 102 9";
                String[] st = s.split(" ");
                int t = 0;
                int[] arr = new int[st.length];
                for (String string : st) {
                        arr[t++] = Integer.parseInt(string);
                }
                for (int i = 0; i < arr.length - 1; i++) {
                        for (int j = i + 1; j < arr.length; j++) {
                                if (arr[i] > arr[j]) {
                                        arr[i] = arr[j] ^ arr[i] ^ (arr[j] = arr[i]);
                                }
                        }
                }

                StringBuffer sb = new StringBuffer();
                for (int i : arr) {
                        sb.append(i + " ");
                }
                sb.deleteCharAt(sb.length() - 1);
                String str = new String(sb);
                System.out.println(str);

        }
回复 使用道具 举报
String s = "25 11 -6 20 102 9";
                String[] st = s.split(" ");
                int t = 0;
                int[] arr = new int[st.length];
                for (String string : st) {
                        arr[t++] = Integer.parseInt(string);
                }
                Arrays.sort(arr);

                StringBuffer sb = new StringBuffer();
                for (int i : arr) {
                        sb.append(i + " ");
                }
                sb.deleteCharAt(sb.length() - 1);
                String str = new String(sb);
                System.out.println(str);

        }
回复 使用道具 举报
String s = "25 11 -6 20 102 9";
                String[] st = s.split(" ");
                int t = 0;
                int[] arr = new int[st.length];
                for (String string : st) {
                        arr[t++] = Integer.parseInt(string);
                }
                TreeSet<Integer> ts = new TreeSet<>();
                for (Integer integer : arr) {
                        ts.add(integer);
                }

                StringBuffer sb = new StringBuffer();
                for (int i : ts) {
                        sb.append(i + " ");
                }
                sb.deleteCharAt(sb.length() - 1);
                String str = new String(sb);
                System.out.println(str);

        }
回复 使用道具 举报
何亚辉 发表于 2016-7-5 11:22
String s = "25 11 -6 20 102 9";
                String[] st = s.split(" ");
                int t = 0;

谢谢大神
回复 使用道具 举报
何亚辉 发表于 2016-7-5 11:22
String s = "25 11 -6 20 102 9";
                String[] st = s.split(" ");
                int t = 0;

1)打印由7,8,9三个数组组成的三位数,要求该三位数中任意两位数字不能相同
    (2)打印格式最后的三位数字以空格分隔,如789 798 879 897 978 987
回复 使用道具 举报
这个你是把每天的作业题发上来了吧
回复 使用道具 举报
他的好 发表于 2016-7-5 22:35
1)打印由7,8,9三个数组组成的三位数,要求该三位数中任意两位数字不能相同
    (2)打印格式最后的三位 ...

是的,不过今天已经做出来了,和楼上的方式有点不一样
回复 使用道具 举报
ylca 中级黑马 2016-7-6 03:46:20
9#
他的好 发表于 2016-7-6 01:27
是的,不过今天已经做出来了,和楼上的方式有点不一样

难道在上基础班!!!!

点评

是的  发表于 2016-7-6 23:31
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马