为什么这段代码会输出;0";? 打包算法; 导入cs1键盘; 导入java.util.*; 公共级筛分费拉托涅斯2{ 公共静态void main(字符串[]args){ //输入数字并创建一个长度为(num-1)的数组 int num=Keyboard.readInt(); ArrayList素数=新的ArrayList(num); //使用从2到num的所有数字填充数组 对于(int i=0;i而不是 ARARYLISTAB/CODE >吗?我认为这里是合适的。

为什么这段代码会输出;0";? 打包算法; 导入cs1键盘; 导入java.util.*; 公共级筛分费拉托涅斯2{ 公共静态void main(字符串[]args){ //输入数字并创建一个长度为(num-1)的数组 int num=Keyboard.readInt(); ArrayList素数=新的ArrayList(num); //使用从2到num的所有数字填充数组 对于(int i=0;i而不是 ARARYLISTAB/CODE >吗?我认为这里是合适的。,java,arraylist,Java,Arraylist,此处没有将ArrayList的大小设置为num,而是将容量设置为num: package Algorithms; import cs1.Keyboard; import java.util.*; public class SieveofEratosthenes2 { public static void main (String[] args){ //input number and create an array with the length of (num-1)

此处没有将ArrayList的大小设置为
num
,而是将容量设置为
num

package Algorithms;
import cs1.Keyboard;
import java.util.*;

public class SieveofEratosthenes2 {
    public static void main (String[] args){

        //input number and create an array with the length of (num-1)
        int num = Keyboard.readInt();
        ArrayList prime = new ArrayList(num);

        //populate array with all numbers from 2 to num
        for(int i = 0; i < prime.size()-1; i++)
        {
            Integer temp = new Integer(i+2);
            prime.add(i, temp);
        }
        System.out.println(prime.size());
ArrayList的大小仍然为零,因此循环正文永远不会运行。请尝试以下操作:

ArrayList prime = new ArrayList(num);
for(int i=0;i
定义:

此列表中的元素数

能力的定义:

每个ArrayList实例都有一个容量。容量是用于存储列表中元素的数组的大小。它始终至少与列表大小一样大。当元素添加到ArrayList时,其容量会自动增长。除了添加元素具有常量amo之外,不会指定增长策略的详细信息非固定化时间成本

此处没有将ArrayList的大小设置为
num
,而是将容量设置为
num

package Algorithms;
import cs1.Keyboard;
import java.util.*;

public class SieveofEratosthenes2 {
    public static void main (String[] args){

        //input number and create an array with the length of (num-1)
        int num = Keyboard.readInt();
        ArrayList prime = new ArrayList(num);

        //populate array with all numbers from 2 to num
        for(int i = 0; i < prime.size()-1; i++)
        {
            Integer temp = new Integer(i+2);
            prime.add(i, temp);
        }
        System.out.println(prime.size());
ArrayList的大小仍然为零,因此循环正文永远不会运行。请尝试以下操作:

ArrayList prime = new ArrayList(num);
for(int i=0;i
定义:

此列表中的元素数

能力的定义:

每个ArrayList实例都有一个容量。容量是用于存储列表中元素的数组的大小。它始终至少与列表大小一样大。当元素添加到ArrayList时,其容量会自动增长。除了添加元素具有常量amo之外,不会指定增长策略的详细信息非固定化时间成本


你会考虑使用<代码> INT[]/COD>而不是<代码> ARAYLISTAB/CODE >吗?我认为这里是合适的。你会考虑使用<代码> INT[]/COD>而不是<代码> ARARYLISTAB/CODE >吗?我认为这里是合适的。