黑马程序员技术交流社区

标题: 那个大神会啊? [打印本页]

作者: 菜鸟鸟    时间: 2016-7-4 21:27
标题: 那个大神会啊?
3.分析以下需求,并用代码实现:
        (1)打印由7,8,9三个数组组成的三位数,要求该三位数中任意两位数字不能相同
        (2)打印格式最后的三位数字以空格分隔,如789 798 879 897 978 987
         */
作者: syinys7    时间: 2016-7-4 21:34
public static void main(String[] args) {
                int[] arr = { 7, 8, 9 }; // 定义一个数组
                StringBuffer sb = new StringBuffer();// 定义一个字符串缓冲区,用来储存字符串
                for (int i = 0; i < arr.length; i++) { // 第一次遍历数组获取三位数的百位
                        for (int j = 0; j < arr.length; j++) { // 第二次遍历数组获取三位数的十位
                                for (int k = 0; k < arr.length; k++) {// 第三次遍历数组获取三位数的个位
                                        if (arr[i] != arr[j] && arr[i] != arr[k] // 判断三个数中,任意两个数字是否相同
                                                        && arr[j] != arr[k]) {
                                                sb.append(arr[i]).append(arr[j]).append(arr[k]) // 如果三位数中任意两位数字不相同,满足条件,将这个组合后的三位数添加到sb的字符串缓冲区里面
                                                                .append(" ");
                                        }
                                }

                        }
                }
                sb.replace(sb.lastIndexOf(" "), sb.length(), "");//链式编程去掉末尾的空格
                System.out.println(sb.toString());
        }

}





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