1. 1 /*36 【程序 36 移动位置】
  2. 2 题目:有 n 个整数,使其前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数,比如输入数字
  3. 3 为 1 2 3 4 5 6 7 8 9 0,m=4,则结果为 7 8 9 0 1 2 3 4 5 6
  4. 4 */
  5. 5
  6. 6 /*分析
  7. 7 * 1、初始化数组a,并从键盘获得值
  8. 8 * 2、声明m,并从键盘或者m值是多少
  9. 9 * 3、再创建一个m大的数组b,用于临时存放a中最后m个数
  10. 10 * 4、将a中剩下的数向后移动==========不需要移动,直接新建c数组,将b并在a前面存入c中====重点!!
  11. 11 * 5、将b中的数并入a中======数组合并方法
  12. 12 * =================================================
  13. 13 String[] dd = new String[aa.length + bb.length];
  14. 14 System.arraycopy(aa, 0, dd, 0, aa.length);
  15. 15 System.arraycopy(bb, 0, dd, aa.length, bb.length);
  16. 16 * ==================================================
  17. 17 * */
  18. 18
  19. 19
  20. 20
  21. 21 package homework;
  22. 22
  23. 23 import java.util.Scanner;
  24. 24
  25. 25 public class _36 {
  26. 26
  27. 27 public static void main(String[] args) {
  28. 28 //从键盘获得数组的长度n
  29. 29 System.out.print("请问将输入的数组的长度n为多少? \n n="); //询问数组的长度,n=10
  30. 30 Scanner sc=new Scanner(System.in);
  31. 31 int n=sc.nextInt(); //得到n
  32. 32 //初始化数组并从键盘获得数组的值
  33. 33 System.out.println("请输入数组值,并用空格间隔:"); //提示输入数组值 (1 2 3 4 5 6 7 8 9 0)
  34. 34 int[] a=new int[n];
  35. 35 for (int i = 0; i < a.length; i++) {
  36. 36 a[i]=sc.nextInt(); //为数组逐个赋值
  37. 37 }
  38. 38 //从键盘获得m值
  39. 39 System.out.print("请问顺序后移多少? \n m="); //询问m值,m=4
  40. 40 int m=sc.nextInt();
  41. 41 //创建一个m大的数组b[m]
  42. 42 int[] b=new int[m];
  43. 43 for (int i = 0; i < m; i++) { //m次循环,转移a中的数据到b
  44. 44 b[i]=a[a.length-m+i];
  45. 45 }
  46. 46 // //测试b中的值
  47. 47 // for (int i = 0; i < b.length; i++) {
  48. 48 // System.out.print(b[i]+" ");
  49. 49 // }
  50. 50 //新建c数组,将b并在a前面存入c中
  51. 51 int[] c = new int[a.length]; //新建一个长度为a.lengh的数组c
  52. 52 System.arraycopy(b, 0, c, 0, b.length); //将b入新数组c中
  53. 53 System.arraycopy(a, 0, c, b.length, a.length-b.length);//将a存入c中,且存在b数组后面
  54. 54
  55. 55 for (int i = 0; i < c.length; i++) {
  56. 56 System.out.print(c[i]+" ");
  57. 57 }
  58. 58 }
  59. 59
  60. 60 }

java例题_36 移动数组中数据位置(用到数组的合并操作)的更多相关文章

  1. python数组中数据位置交换 -- IndexError: list assignment index out of range

    代码: t = [-10,-3,-100,-1000,-239,1] # 交换 -10和1的位置 t[5], t[t[5]-1] = t[t[5]-1], t[5] 报错: IndexError: l ...

  2. Android(java)学习笔记186:对ListView等列表组件中数据进行增、删、改操作

    1.ListView介绍 解决大量的相似的数据显示问题 采用了MVC模式: M: model (数据模型) V:  view  (显示的视图) C: controller 控制器 入门案例: acit ...

  3. Android(java)学习笔记129:对ListView等列表组件中数据进行增、删、改操作

    1. ListView介绍 解决大量的相似的数据显示问题 采用了MVC模式: M: model (数据模型) V:  view  (显示的视图) C: controller 控制器 入门案例: aci ...

  4. JS对象 Array 数组对象 数组对象是一个对象的集合,里边的对象可以是不同类型的。数组的每一个成员对象都有一个“下标”,用来表示它在数组中的位置,是从零开始的

    Array 数组对象 数组对象是一个对象的集合,里边的对象可以是不同类型的.数组的每一个成员对象都有一个"下标",用来表示它在数组中的位置,是从零开始的 数组定义的方法: 1. 定 ...

  5. C语言:假定输入的字符串只包含字母和*号,fun函数:除了尾部的*号以外,将字符的其他*号进行全部删除,形参p已经指向字符串中最后一个字母。-利用折半查找整数m在有序数组中的位置,若找到,返回下标值,否则返回-1。

    //假定输入的字符串只包含字母和*号,fun函数:除了尾部的*号以外,将字符的其他*号进行全部删除,形参p已经指向字符串中最后一个字母. #include <stdio.h> void f ...

  6. MongoDB 学习笔记之 从数组中删除元素和指定数组位置

    从数组中删除元素: 从数组中删除单个元素: db.ArrayTest.updateOne({ "name" : "Bill"},{$pop: {"ad ...

  7. K:找寻数组中第n大的数组元素的三个算法

    相关介绍:  给定一个数组,找出该数组中第n大的元素的值.其中,1<=n<=length.例如,给定一个数组A={2,3,6,5,7,9,8,1,4},当n=1时,返回9.解决该问题的算法 ...

  8. 百度:在O(1)空间复杂度范围内对一个数组中前后连段有序数组进行归并排序

    一.题目理解 题目:数组al[0,mid-1]和al[mid,num-1]是各自有序的,对数组al[0,num-1]的两个子有序段进行merge,得到al[0,num-1]整体有序.要求空间复杂度为O ...

  9. extract_by_one 根据二维数组中某字段来提取数组信息,查看有无重复信息

    public function tt(){ $param = array( array ( 'hykno' => '2222222-CB', 'tcdk_fid' => '458B6D70 ...

随机推荐

  1. Google & Chrome console & text adventure game

    Google & Chrome console & text adventure game Google's text adventure game https://www.googl ...

  2. 视屏剪辑软件 & free video editor

    视屏剪辑软件 & free video editor purpose add animation keyframe to tutorials video vlog demos tutorial ...

  3. linux & node & cli & exit(0) & exit(1)

    linux & node & cli & exit(0) & exit(1) exit(0) & exit(1) demo exit(0) === OK exi ...

  4. bili & library bundler

    bili & library bundler https://bili.egoist.sh/#/#quick-start # Node.js 8 or above: $ npm i -D bi ...

  5. 宝塔部署Nestjs

    1. 在宝塔上下载pm2 2. 打包你的服务端代码 "npm run build && cp ./package.json ./dist/" 3. 在宝塔文件&qu ...

  6. qt 取进程列表,读写内存, 写字节集

    导入库 pro win32:LIBS += -lpsapi win32:LIBS += -lkernel32 获取列表 #include "mainwindow.h" #inclu ...

  7. NGK全球行伦敦站,SPC推动全球数字金融创新

    近日,NGK全球巡回路演在英国的首都伦敦盛大落幕,此次路演有幸邀请到了西欧区块链业界弗洛伊德大咖,NGK方面代表鲍利斯以及英国及其组周边国家社群意见代表马丁内斯等人,总计参与人数达到了数十人. 路演一 ...

  8. 利用Metasploit 打入ThinkPHP内网...

    出品|MS08067实验室(www.ms08067.com) 本文作者:dch(Ms08067实验室 SRSP TEAM小组成员) 一.利用Metasploit进行攻击的流程图   Metasploi ...

  9. SSL/TLS协议详解(上):密码套件,哈希,加密,密钥交换算法

    本文转载自SSL/TLS协议详解(上):密码套件,哈希,加密,密钥交换算法 导语 作为一名安全爱好者,我一向很喜欢SSL(目前是TLS)的运作原理.理解这个复杂协议的基本原理花了我好几天的时间,但只要 ...

  10. Flutter 中不得不会的 mixin

    mixin 是 Dart 中非常重要的概念,对于未接触过此概念的Coder来说尤其重要,最近看源码的时候,由于对 mixin 不熟悉导致理解出现偏差,走了很多弯路,所以这篇文章介绍一下 mixin 概 ...