带循环的数组练习

时间:2014-04-07 18:05:07

标签: java arrays loops

我必须使用数组存储偶数直到20,但是当我运行时,只需显示数字0 我将不胜感激。

int num[] = new int[20];

for(int i = 0; i <=10; i++){
    System.out.println(i);

    if(i%2 == 0){
        System.out.println("even number " +num[i]);
    }
}

3 个答案:

答案 0 :(得分:1)

问题是您假设您将获得一个自动填充数字1到20或0到20的数组。您必须自己将这些数字添加到数组中。默认情况下,对于从0到19(20个元素)的每个索引,数组将包含数字0。您可以使用此方法自动填充数组:

void List<Integer> makeSequence(int begin, int end) 
{
   List<Integer> ret = new ArrayList(end-begin+1);

   for(int i = begin; i <= end; i++, ret.add(i));

   return ret;  
}

...

List<Integer> seq = makeSequence(0, 19);
int num[] = new int[seq.size()];
seq.toArray(num); // fill the array

当然,一旦你有了List<Integer>,你就可以在第一时间使用List

makeSequence由answer提供。

答案 1 :(得分:0)

在java中定义int数组时,所有元素都被初始化为0。

num []中的所有元素都是0.因为您没有为它们分配任何值。

试试这个。

int num[] = new int[20];

for(int i = 0; i <=10; i++){
    num[i] = i;
    System.out.println(i);

    if(i%2 == 0){

    System.out.println("even number " +num[i]);
}

}

答案 2 :(得分:0)

您需要将该号码分配给您的数组,如:

int index = -1;
if(i%2 == 0){
    num[++index] = i;
    System.out.println("even number " +num[index]);
}