package cn.zhang;
import java.util.Scanner;
public class Subject001 {
/*
*有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入数组的长度:");
int n = sc.nextInt();
int[] nums = new int[n];
for (int i = 0; i < nums.length; i++) {
System.out.println("请输入数组中的第" + (i + 1) + "个数:");
nums[i] = sc.nextInt();
}
System.out.print("您输入的数组为:");
for (int i = 0; i < nums.length; i++) {
System.out.print(nums[i] + " ");
}
System.out.print("\n请输入向后移动的位数:");
int m = sc.nextInt();
//创建长度为m的数组,用来存储数组nums中后面的m个元素
int[] newNums = new int[m];
for (int i = 0; i < m; i++) {
newNums[i] = nums[n - m + i];
}
for (int i = n - 1; i >= m; i--) {
nums[i] = nums[i - m];
}
for (int i = 0; i < m; i++) {
nums[i] = newNums[i];
}
System.out.print("位移后的数组是:");
for (int i = 0; i < nums.length; i++) {
System.out.print(nums[i] + " ");
}
sc.close();
}
}
结果: