簡體   English   中英

將數組元素向左移動

[英]Moving array elements to the left

編寫一個代碼,將數組元素左移一個 int n(鍵盤輸入)並用零替換空格。

前任。 int[] data = { -1, 1, 3, 7, 5}我想看{ 3, 7, 5, 0, 0} 假設我有:

public static void shiftLeft( int[] data, int n )
{
    System.arraycopy( data, 1, data, 0, data.length - 1 );
    data[data.length - 1] = 0;
}

任何快速幫助都會很棒。

你很接近,但你的srcPos參數應該是n並且length參數應該是data.length - n 然后,您可以使用接受開始/結束索引的重載Arrays#fill方法來用0填充數組的其余部分:

public static void shiftLeft(int[] data, int n) {
    System.arraycopy(data, n, data, 0, data.length - n);
    Arrays.fill(data, data.length - n, data.length, 0);
}

使用您的示例輸入進行測試會產生以下結果:

int[] data = { -1, 1, 3, 7, 5};
shiftLeft(data, 2);
System.out.println(Arrays.toString(data));

輸出:

[3, 7, 5, 0, 0]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM