我是新來的編程新手。 我有一個任務,其中包含反轉數組的元素,但不能使用數組反向方法。我不知道我怎麼能做到這一點。我嘗試使用for循環,但它不起作用。 在此先感謝。陣列中的反向元素無陣列逆向法
試圖扭轉這樣的事情: 1,4,9,16,9,7,4,9,11 到11,9,4,7,9,16,9,4,1
我是新來的編程新手。 我有一個任務,其中包含反轉數組的元素,但不能使用數組反向方法。我不知道我怎麼能做到這一點。我嘗試使用for循環,但它不起作用。 在此先感謝。陣列中的反向元素無陣列逆向法
試圖扭轉這樣的事情: 1,4,9,16,9,7,4,9,11 到11,9,4,7,9,16,9,4,1
因此,這是一個家庭作業問題,我不會給你提供完整的答案,而是給你一些提示。
如果您可以創建附加數組,請嘗試以下操作:創建一個將包含相反元素的新數組。從最後開始迭代你的初始數組,並移動到元素0.正如你這樣做只是設置initialArray[i] = newArray[index]
請注意,i
和index
只是我編造的變量。這項任務的一部分困難是弄清楚如何在兩個陣列之間進行分配,所以我會把它留給你!
隨意問任何更多的問題,我可以嘗試引導你的解決方案。
祝你好運!
使用for循環,第二個數組是最簡單的方法。
int[] array = new int[]{ 1, 4, 9, 16, 9, 7, 4, 9, 11 };
int[] array2 = array;
int count = 0;
for(int i = array.length-1; i >= 0; i--) {
array2[count] = array[i];
count++;
}
更復雜的解決方案只使用一個數組將暫時保存到外部int值並交換它們。
int count = 0;
int[] array = new int[]{ 1, 4, 9, 16, 9, 7, 4, 9, 11 };
for(int i = array.length-1; i >= count; i--) {
int x = array[i];
array[i] = array[count];
array[count] = x;
count++;
}
您可以添加失敗的嘗試嗎?這樣我們就能看到你做錯了什麼。 – crumbug
把它放在'List'中,然後用custom * Comparator *做'Collections.sort()'。 – GurV
閱讀本文http://stackoverflow.com/questions/2137755/how-do-i-reverse-an-int-array-in-java – gihan