package com.java.day04;
import java.util.Scanner;
/**
*
* @author Alfred
* @data 2018年7月23日下午9:01:49
* Description:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
* Version:
*/
public class Demo04 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = { 27, 75, 53, 12, 8, 31, 23 };
System.out.println("原来的数组:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
System.out.println("请输入要移动的位数:");
int m = sc.nextInt();
// 保存最后m个数
int[] backUp = new int[m];
for (int i = 0; i < m; i++) {
backUp[i] = arr[arr.length - m + i];
}
/*
* for (int i = 0; i < backUp.length; i++) { System.out.print(backUp[i] + " ");
* }
*/
// 移动位置
for (int i = arr.length - 1; i >= m; i--) {
arr[i] = arr[i - m];
}
/*
* for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); }
*/
// 将保存的m个数放到前面
for (int i = 0; i < backUp.length; i++) {
arr[i] = backUp[i];
}
// 输出结果
System.out.println("移动后的数组:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}