**我想知道如何在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
答案 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:
首先声明您的列表:
List<Integer> myList = new ArrayList<Integer>();
在循环中使用它:
for (int i=1; i<=498/2; i++) {
int z = 498 % i;
if (z == 0) {
//add i to the list
myList.add(i);
}
}
然后您可以使用以下方式打印列表:
System.out.println(myList.toString());
请阅读有关ArrayLists here的内容,或者只是google it,有很多关于ArrayLists的教程。