StackOverflow! 我已經使用了searrch選項,我發現一些相關的答案,但他們沒有解釋爲什麼在Java中的數組的反向排序的這種特殊的方法不起作用:Array(Java)中的手動顛倒順序
class ReverseOrder
{
public static void main(String[] args)
{
int x[] = {1,2,3,4,5};
int y[] = x;
int i, j;
for(i = 0, j = x.length - 1; i < x.length; i++, j--)
{
y[i] = x[j];
}
for(int b = 0; b < x.length; b++)
{
System.out.println("Inverse order is: " + y[b]);
}
}
}
爲什麼結果5, 4,3,4,5而不是5,4,3,2,1 ???它令我絕對瘋了,對我毫無意義。任何幫助將不勝感激!
對,你需要做int y [] = new int [x.length]; – aglassman
非常感謝!這絕對解決了這個問題。不過,我還有一個額外的問題 - 我現在應該這樣做嗎? int x [] = {1,2,3,4,5}; int y [] = new int [5]; y = x.clone(); 或者也許有更快,更有效的方式呢? 無論如何非常感謝! –
這足以用int y [] = new int [x.lengt]替換int y [] = x,這可確保y被初始化並具有足夠的容量來保存x內容。 Y在循環中填充循環中的值。 – mihaisimi