黑马程序员技术交流社区

标题: 求大神 [打印本页]

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


作者: 何亚辉    时间: 2016-7-5 11:19
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);

        }

作者: 何亚辉    时间: 2016-7-5 11:20
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);

        }
作者: 何亚辉    时间: 2016-7-5 11:22
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 22:18
何亚辉 发表于 2016-7-5 11:22
String s = "25 11 -6 20 102 9";
                String[] st = s.split(" ");
                int t = 0;

谢谢大神
作者: 他的好    时间: 2016-7-5 22:35
何亚辉 发表于 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 23:42
这个你是把每天的作业题发上来了吧
作者: 他的好    时间: 2016-7-6 01:27
他的好 发表于 2016-7-5 22:35
1)打印由7,8,9三个数组组成的三位数,要求该三位数中任意两位数字不能相同
    (2)打印格式最后的三位 ...

是的,不过今天已经做出来了,和楼上的方式有点不一样
作者: ylca    时间: 2016-7-6 03:46
他的好 发表于 2016-7-6 01:27
是的,不过今天已经做出来了,和楼上的方式有点不一样

难道在上基础班!!!!




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