我想要做的是:
提示用户输入列表大小(例如,N = 10,000).以随机顺序创建从1到N的整数ArrayList.
这是我到目前为止,但列表只返回0次n次
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);
}
Run Code Online (Sandbox Code Playgroud)
是的,因为你在声明k 内循环.只是移动
int k = 0;
Run Code Online (Sandbox Code Playgroud)
以之前的循环.目前,"新声明的"变量将在循环的每次迭代的第一行被赋值为0; 然后它会在下一行增加到1.然后将该值(1)装箱,并将返回值Integer.valueOf(1)添加到列表中.然后我们再去一次......
另一种方法是使用循环索引 - 可能同时将循环更改为更惯用的样式:
for (int i = 0; i < n; i++) {
myList.add(i + 1);
}
Run Code Online (Sandbox Code Playgroud)