Java基础50道经典练习题(36)——移动位置

【程序 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]+" ");
    }

}

  

posted on 2020-06-06 12:27  lifelicanpeng  阅读(431)  评论(0编辑  收藏  举报

导航