zoukankan      html  css  js  c++  java
  • Java50道经典习题-程序36 移动位置

    题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
    分析:比如有4个数n=4;
    1 2 3 4
    各个数向后移动2位m=2,变为
        1 2 3 4
    将最后m个数,即将最后2个数变成前面的2个数变为
    3 4 1 2
     1 import java.util.Arrays;
     2 import java.util.Scanner;
     3 public class Prog36 {
     4     public static void main(String[] args) {
     5         //获取用户输入数据
     6         Scanner scan=new Scanner(System.in);
     7         System.out.println("请输入想要输入的整数个数n:");
     8         int n=scan.nextInt();
     9         int []arr=new int[n];
    10         System.out.println("请依次输入这n个整数:");
    11         for(int i=0;i<n;i++) {
    12             arr[i]=scan.nextInt();
    13         }
    14         System.out.println("请输入想要移动的位数m:");
    15         int m=scan.nextInt();
    16         scan.close();
    17         //输出原始数据
    18         System.out.println("输入的数组是:"+Arrays.toString(arr));
    19         arr.toString();
    20         //调用函数输出移动后的数组
    21         System.out.println("移动位置之后的数组是:"+move(arr,n,m));
    22     }
    23     //编写函数实现题目移动位置功能
    24     public static String move(int[]arr,int n,int m) {
    25         //新建一个数组拷贝原来的数组,使原来的数组长度+m
    26         int []arr2=new int[arr.length+m];
    27         for(int j=0;j<arr2.length-m;j++) {//从数组的m位开始,将原来的数组拷贝到新数组中
    28             if(j<m) {
    29                 arr2[j]=arr[n-m+j];//将数组的后几位要移动的数字放在新数组的前面
    30             }else {
    31                 arr2[j]=arr[j-m];//将数组的剩下的位数放近新数组中
    32             }
    33         }
    34         //将移动位置之后的新数组的元素拷贝至原数组中
    35         for(int t=0;t<n;t++) {
    36             arr[t]=arr2[t];
    37         }
    38         return Arrays.toString(arr);
    39  
    40     }
    41 }
    42 /*运行结果
    43 请输入想要输入的整数个数n:
    44 4
    45 请依次输入这n个整数:
    46 1
    47 2
    48 3
    49 4
    50 请输入想要移动的位数m:
    51 2
    52 输入的数组是:[1, 2, 3, 4]
    53 移动位置之后的数组是:[3, 4, 1, 2]
    54 */
  • 相关阅读:
    centos6 LVS-DR模式---分析
    centos6.6 安装 LXC
    Amoeba-mysql读写分离实战
    keepalived +mysql 实战
    nginx添加sticky模块-cookie保持会话
    haproxy转发真实IP给web
    Mysql-如何正确的使用索引以及索引的原理
    Mysql-自带的一些功能,基本用法(视图,触发器,事务,存储过程,函数,流程控制)
    Mysql-常用数据的基本操作和基本形式
    Mysql-多表连接的操作和用法
  • 原文地址:https://www.cnblogs.com/parkour1026/p/10796582.html
Copyright © 2011-2022 走看看