數組移位

public class T36 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        try {
            int[] arr = new int[5];
            System.out.println("請輸入5個數字:");
            for (int i = 0; i < arr.length; i++) {
                arr[i] = input.nextInt();
            }數組

            System.out.println("輸入的數組爲:");
            for (int i = 0; i < arr.length; i++) {
                System.out.print(arr[i] + "\t");
            }
            System.out.println();
            System.out.print("請輸入向後移動的位置:");
            int m = input.nextInt();
            int[] b = new int[arr.length];// 新建一個數組,長度同arr索引

            /* for循環裏將日後某位數的多個值取出來,在放到後面的某多個位裏去 */
            for (int i = arr.length - m - 1; i >= 0; i--) {
                b[i + m] = arr[i]; // 根據日後的位數將剩餘元素複製到新數組裏
            }input

            /* for循環先肯定後移位數的元素,並將其從頭賦值 */
            for (int j = arr.length - m; j < arr.length; j++) {
                b[j - (arr.length - m)] = arr[j];// 將移出去的N位數從新賦值到前面
            }
            /* 結果輸出 */
            for (int k = 0; k < b.length; k++) {
                System.out.print(b[k] + "\t");
            }
        } catch (Exception e) {
            System.out.println("Error!索引超出範圍!");
        }
    }
}io

相關文章
相關標籤/搜索