此代码继续返回0而不是增加大小?
我想要做的是:此代码继续返回0而不是增加大小?
提示用户输入列表大小(例如,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);
}
是的,因为你声明k
内循环。只是循环之前移动
int k = 0;
到。目前,“新声明的”变量将在循环的每次迭代的第一行被赋值为0;它会在下一行增加到1。然后,该值(1)将被装箱,返回值Integer.valueOf(1)
将被添加到列表中。然后,我们去了,又一次......
另一种方法是只使用循环索引 - 可能改变环路到一个较为惯用的风格在同一时间:
for (int i = 0; i < n; i++) {
myList.add(i + 1);
}
谢谢!完成这一步之后,我还需要将Collections.shuffle调用到列表上。你知道我将如何创建声明来调用Collections.shuffle到这个列表中? –
@KarthikPatil:这只是一个静态方法调用:'Collections.shuffle(myList);'。这是什么原因导致你麻烦? –
这一步我也需要帮助后将Collections.shuffle调用到列表上。我将如何创建声明来将Collections.shuffle调用到此列表中? –
提示:就此,以及您之前的问题,当您获得正确/有用的示例时,请务必将其检查为已回答。 – Aurora