[英]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.