37.數組元素後移指定位數

編程題目:

37.有n個整數,使其前面各數順序向後移m個位置,最後m個數變成最前面的m個數。

示例代碼:

package program.calculation.exercise37;

import java.util.Scanner;

/**
 * 37.有n個整數,使其前面各數順序向後移m個位置, 最後m個數變成最前面的m個數。
 */

public class ArrayMove {
	public static void main(String[] args) {
		
		System.out.println("請輸入n個整數:");
		@SuppressWarnings("resource")
		Scanner scanner = new Scanner(System.in);
		int[] arr = new int[10];
		for (int i=0; i<arr.length; i++) {
			arr[i] = scanner.nextInt();
		}
		
	    System.out.println("請輸入整數順序後移位數m(m<n):");
		int m = scanner.nextInt();
 
		handleArray(arr, m);
		
		System.out.println("整數序列後移"+m+"位後順序爲:");
		for(int i=0; i<arr.length; i++) {
			System.out.print(arr[i]+" ");
		}
			
	}
	
	//處理數組
	private static void handleArray(int[] arr, int m) {
		
		int[] array = new int[m];
		for(int i=0; i<m; i++) {
			array[i] = arr[arr.length-m+i];
		}
		for(int i=arr.length-m-1; i>=0; i--) {
			arr[i+m] = arr[i];
		}
		for(int i=0; i<m; i++) {
			arr[i] = array[i];
		}
		
	}

}

結果顯示:

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章