簡體   English   中英

移位數組元素 java

[英]Shift array elements java

我有方法來移動 arr 元素:

 private static int[] shiftElements(int[] arr, int n) {
        for (int i = 0; i < arr.length; i++) {
            arr[i+n] = arr[i];
        }
        return arr;
    }

n - amount of shifting.

當我執行此代碼時出現異常:

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6

據我了解程序需要更多空間來包含另一個項目。 但我不需要添加更多項目,我需要已經存在的班次。 使用n參數,如果參數為負,則所有數組向左移動,如果為正,則向右移動,如果為零 - 什么都不會發生。

Examples


ORIGINAL ARRAY: 1,3,5,6,8,10

example: 
n = 2
arr: 8,10,1,3,5,6

How to achieve it?

您的異常來自這一行:

arr[i+n] = arr[i];

你得到一個例外,因為 i + n > arr.length。

在您的示例中,您希望將那些最終位於數組外部的元素添加到前面。

我不會為你做功課,但你可能想為此使用if(...) 或者一個mod表達式...

暫無
暫無

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

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