如何在java中运行时创建数组?

时间:2013-12-11 15:09:03

标签: java arrays

**我想知道如何在java中运行时创建一个数组?举个例子说我想检查分隔498的数字,我想把它们放到一个数组中?

for(i=1;i<=498/2;i++){
   int z=498%i;
   if(z==o)// put the i into the array if not continue

4 个答案:

答案 0 :(得分:3)

import java.io.*;
import java.util.*;
public class Solution {

public static void main(String[] args) { 

   Scanner scan= new Scanner(System.in);
   int size=scan.nextInt();         //Enter size of array
   int[] array = new int[size];     //create array at runtime
                                        }

                      }

答案 1 :(得分:1)

int[] numbers = new int[SIZE_OF_ARRAY_HERE];

或者,如果您希望能够调整大小,请改用ArrayList

答案 2 :(得分:1)

你可以在迭代for循环时创建一个ArrayList,如果你在进程结束时需要一个数组,你可以将其转换为Array,如下所示

integer [] myNumbers = list.toArray(new Integer[list.size()]);

这将帮助您不必担心在运行时重新调整Array的大小

所以最后你的代码应该如下所示

List<Integer> numbers = new ArrayList<Integer>();
for(i=1;i<=498/2;i++){
   int z=498%i;
   if(z==o){
     numbers.add(i);
   }
}

int [] myNumbers = numbers.toArray(new Integer[numbers.size()]);

答案 3 :(得分:1)

我理解通过“在运行时”,你的意思是你不知道数组在开始时的大小,并希望数组在需要时增长(如果我错了,请纠正我)。您可以使用ArrayList:

  1. 首先声明您的列表:

    List<Integer> myList = new ArrayList<Integer>();
    
  2. 在循环中使用它:

    for (int i=1; i<=498/2; i++) {
        int z = 498 % i;
    
        if (z == 0) {
            //add i to the list
            myList.add(i);
        }
    }
    
  3. 然后您可以使用以下方式打印列表:

    System.out.println(myList.toString());
    
  4. 请阅读有关ArrayLists here的内容,或者只是google it,有很多关于ArrayLists的教程。

相关问题