我必须使用数组存储偶数直到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]);
}
}
答案 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]);
}