【程序 36 移动位置】
题目:有 n 个整数,使其前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数,比如输入数字
为 1 2 3 4 5 6 7 8 9 0,m=4,则结果为 7 8 9 0 1 2 3 4 5 6
源码:
package com.homework.test; import java.util.Scanner; /* 【程序 36 移动位置】 题目:有 n 个整数,使其前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数,比如输入数字 为 1 2 3 4 5 6 7 8 9 0,m=4,则结果为 7 8 9 0 1 2 3 4 5 6 */ public class Test36 { public static void main(String [] args){ final int N = 10; System.out.print("请输入10个数的数组:"); Scanner scan = new Scanner(System.in); int[] a = new int[N]; for(int i=0;i<a.length;i++) a[i] = scan.nextInt(); System.out.print("请输入一个小于10的数:"); int m = scan.nextInt(); scan.close(); int[] b = new int[m]; int[] c = new int[N-m]; for(int i=0;i<m;i++) b[i] = a[i]; for(int i=m,j=0;i<N;i++,j++) c[j] = a[i]; for(int i=0;i<N-m;i++) a[i] = c[i]; for(int i=N-m,j=0;i<N;i++,j++) a[i] = b[j]; for(int i=0;i<a.length;i++) System.out.print(a[i]+" "); } }