黑马程序员技术交流社区

标题: 为什么输入2添加进去的和结果不一样? [打印本页]

作者: TS-松子    时间: 2016-6-6 11:03
标题: 为什么输入2添加进去的和结果不一样?
public class Demo{
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个整数:");
                ArrayList<ArrayList> arrayList = method(sc.nextInt());
                //System.out.println(arrayList);
        }

        public static ArrayList<ArrayList> method(int n) {
                ArrayList<ArrayList> arrayList = new ArrayList();
                ArrayList<Integer> intList = new ArrayList();
                if (n==1) {
                        intList.add(1);
                        arrayList.add(intList);
                        return arrayList;
                }
                ArrayList<ArrayList> arrayList1 = method(n-1);
                for (int i = 0; i < n-1; i++) {
                        ArrayList<Integer> arr = arrayList1.get(i);
                        for (int j = 0; j < n; j++) {
                                arr.add(j, n);
                                System.out.print(arr);
                                arrayList.add(arr);
                                arr.remove(j);
                        }
                }
                System.out.println(arrayList);
                return arrayList;
        }
}
作者: TS-松子    时间: 2016-6-6 11:30
为什么结果是[2, 1][1, 2][[1], [1]]
而不是[2, 1][1, 2][[2, 1][1, 2]]
作者: My_Android    时间: 2016-6-6 11:45
代码就不能写点注释嘛。。。。想要看懂这个代码好难
作者: TS-松子    时间: 2016-6-6 11:51
My_Android 发表于 2016-6-6 11:45
代码就不能写点注释嘛。。。。想要看懂这个代码好难

不好意思,又发了一篇,只把问题写出来了,看看那个吧。。。




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