java - 此代码不断返回 0 而不是增加大小?

标签 java arraylist

我想做的是:

提示用户输入列表大小(例如,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);
}

关于java - 此代码不断返回 0 而不是增加大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7814379/

相关文章:

java - 更新不适用

java - 如何在自定义 ListView ArrayList 中进行排序以及如何使其在 Spinner 中工作?

java - 在不断缩小的 LispList 中递归查找 INT 的索引

java - 与名单上的情侣一起工作,忽略顺序......一些优雅的方式?

java - 如何将 String 类型的用户输入添加到 Java 中的 ArrayList?

java - 如何使用线程根据相机位置生成地形而不会出现突然的延迟?

java - 调试时会忽略依赖项 org.apache.httpcomponents :httpclient:4. 5,因为它可能与提供的内部版本冲突

java - 从 JList Java Swing 中删除元素

java - 如何访问默认包中的java类?

c# - 找不到程序集