我必須使用數組存儲偶數直到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]);
}
}
我必須使用數組存儲偶數直到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]);
}
}
在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]);
}
}
您需要在號碼分配給您的陣列,如:
int index = -1;
if(i%2 == 0){
num[++index] = i;
System.out.println("even number " +num[index]);
}
這樣他就會在奇數索引處得到0 –
是的,你說得對,但是我想提出這個想法,而且他正在打印當前索引,所以他不會注意到奇數索引,無論如何我都更新了答案。 – Salah
的問題是,你以爲你是要給予已自動與數字填充的數組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
一個List<Integer>
。
makeSequence禮貌這answer。
'num [i]'是什麼?你爲什麼使用它? –
@SotiriosDelimanolis:很明顯這是一個偶數。他只是沒有初始化他的int數組。 – Brian