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];
		}
		
	}

}

结果显示:

在这里插入图片描述

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