我想做的是:
提示用户输入列表大小(例如,N = 10,000)。以随机顺序创建从1到N的整数ArrayList。
这是我到目前为止所做的,但列表只返回0次
System.out.print("Please enter a list size: ");
Scanner ST = new Scanner(System.in);
int n= ST.nextInt();
List<Integer> myList = new ArrayList<Integer>(n);
for ( int i = 1; i<(n+1); i++){
int k = 0;
k = k + 1;
myList.add(k);
}
答案 0 :(得分:7)
是的,因为您在循环中声明了k
。只需移动
int k = 0;
在循环之前到。目前,“新声明的”变量将在循环的每次迭代的第一行被赋值为0;然后它会在下一行增加到1。然后将该值(1)装箱,并将返回值Integer.valueOf(1)
添加到列表中。然后我们又回来了......
另一种方法是使用循环索引 - 可能同时将循环更改为更惯用的样式:
for (int i = 0; i < n; i++) {
myList.add(i + 1);
}