java例题_36 移动数组中数据位置(用到数组的合并操作)
1 /*36 【程序 36 移动位置】
2 题目:有 n 个整数,使其前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数,比如输入数字
3 为 1 2 3 4 5 6 7 8 9 0,m=4,则结果为 7 8 9 0 1 2 3 4 5 6
4 */
5
6 /*分析
7 * 1、初始化数组a,并从键盘获得值
8 * 2、声明m,并从键盘或者m值是多少
9 * 3、再创建一个m大的数组b,用于临时存放a中最后m个数
10 * 4、将a中剩下的数向后移动==========不需要移动,直接新建c数组,将b并在a前面存入c中====重点!!
11 * 5、将b中的数并入a中======数组合并方法
12 * =================================================
13 String[] dd = new String[aa.length + bb.length];
14 System.arraycopy(aa, 0, dd, 0, aa.length);
15 System.arraycopy(bb, 0, dd, aa.length, bb.length);
16 * ==================================================
17 * */
18
19
20
21 package homework;
22
23 import java.util.Scanner;
24
25 public class _36 {
26
27 public static void main(String[] args) {
28 //从键盘获得数组的长度n
29 System.out.print("请问将输入的数组的长度n为多少? \n n="); //询问数组的长度,n=10
30 Scanner sc=new Scanner(System.in);
31 int n=sc.nextInt(); //得到n
32 //初始化数组并从键盘获得数组的值
33 System.out.println("请输入数组值,并用空格间隔:"); //提示输入数组值 (1 2 3 4 5 6 7 8 9 0)
34 int[] a=new int[n];
35 for (int i = 0; i < a.length; i++) {
36 a[i]=sc.nextInt(); //为数组逐个赋值
37 }
38 //从键盘获得m值
39 System.out.print("请问顺序后移多少? \n m="); //询问m值,m=4
40 int m=sc.nextInt();
41 //创建一个m大的数组b[m]
42 int[] b=new int[m];
43 for (int i = 0; i < m; i++) { //m次循环,转移a中的数据到b
44 b[i]=a[a.length-m+i];
45 }
46 // //测试b中的值
47 // for (int i = 0; i < b.length; i++) {
48 // System.out.print(b[i]+" ");
49 // }
50 //新建c数组,将b并在a前面存入c中
51 int[] c = new int[a.length]; //新建一个长度为a.lengh的数组c
52 System.arraycopy(b, 0, c, 0, b.length); //将b入新数组c中
53 System.arraycopy(a, 0, c, b.length, a.length-b.length);//将a存入c中,且存在b数组后面
54
55 for (int i = 0; i < c.length; i++) {
56 System.out.print(c[i]+" ");
57 }
58 }
59
60 }
java例题_36 移动数组中数据位置(用到数组的合并操作)的更多相关文章
- 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 ...
- Android(java)学习笔记186:对ListView等列表组件中数据进行增、删、改操作
1.ListView介绍 解决大量的相似的数据显示问题 采用了MVC模式: M: model (数据模型) V: view (显示的视图) C: controller 控制器 入门案例: acit ...
- Android(java)学习笔记129:对ListView等列表组件中数据进行增、删、改操作
1. ListView介绍 解决大量的相似的数据显示问题 采用了MVC模式: M: model (数据模型) V: view (显示的视图) C: controller 控制器 入门案例: aci ...
- JS对象 Array 数组对象 数组对象是一个对象的集合,里边的对象可以是不同类型的。数组的每一个成员对象都有一个“下标”,用来表示它在数组中的位置,是从零开始的
Array 数组对象 数组对象是一个对象的集合,里边的对象可以是不同类型的.数组的每一个成员对象都有一个"下标",用来表示它在数组中的位置,是从零开始的 数组定义的方法: 1. 定 ...
- C语言:假定输入的字符串只包含字母和*号,fun函数:除了尾部的*号以外,将字符的其他*号进行全部删除,形参p已经指向字符串中最后一个字母。-利用折半查找整数m在有序数组中的位置,若找到,返回下标值,否则返回-1。
//假定输入的字符串只包含字母和*号,fun函数:除了尾部的*号以外,将字符的其他*号进行全部删除,形参p已经指向字符串中最后一个字母. #include <stdio.h> void f ...
- MongoDB 学习笔记之 从数组中删除元素和指定数组位置
从数组中删除元素: 从数组中删除单个元素: db.ArrayTest.updateOne({ "name" : "Bill"},{$pop: {"ad ...
- K:找寻数组中第n大的数组元素的三个算法
相关介绍: 给定一个数组,找出该数组中第n大的元素的值.其中,1<=n<=length.例如,给定一个数组A={2,3,6,5,7,9,8,1,4},当n=1时,返回9.解决该问题的算法 ...
- 百度:在O(1)空间复杂度范围内对一个数组中前后连段有序数组进行归并排序
一.题目理解 题目:数组al[0,mid-1]和al[mid,num-1]是各自有序的,对数组al[0,num-1]的两个子有序段进行merge,得到al[0,num-1]整体有序.要求空间复杂度为O ...
- extract_by_one 根据二维数组中某字段来提取数组信息,查看有无重复信息
public function tt(){ $param = array( array ( 'hykno' => '2222222-CB', 'tcdk_fid' => '458B6D70 ...
随机推荐
- TS & ES-Next & playground
TS & ES-Next & playground TS TypeScript: TS Playground - An online editor for exploring Type ...
- Apple 产品反人类的设计 All In One
Apple 产品反人类的设计 All In One 用户体验 shit rank WTF rank iPhone 更换铃声 WTF, 这么简单的一个功能搞得太复杂了 使用要下载 1.6 G的库乐队 A ...
- JavaScript & Atomics
JavaScript & Atomics Atomics 对象提供了一组静态方法对 SharedArrayBuffer 和 ArrayBuffer 对象进行原子操作. Atomics.add ...
- JS实现点击加载更多效果
适用场景:后端直接把所有的文章都给你调出来了,但是领导又让做点击加载更多效果...(宝宝心里苦啊) 点击加载更多效果: 第一个和第二个参数分别是btn和ul的DOM(必填) ...
- NGK官方又出助力市场计划方案 1万枚VAST任性送
近期NGK官方的一系列动作,可以说是在向外界宣告:NGK2.0即将来袭,席卷加密数字货币市场.前一段时间,NGK官方宣布,NGK公链布局算力领域,打造NGK算力生态星空计划,并推出了SPC星空币.目前 ...
- K8S部署Redis Cluster集群
kubernetes部署单节点redis: https://www.cnblogs.com/zisefeizhu/p/14282299.html Redis 介绍 • Redis代表REmote DI ...
- Python和JavaScript在使用上有什么区别?
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://www.freecodecamp.org/news/python-vs-javas ...
- 你要是还学不会,请提刀来见 Typora+PicGo+Gitee + node.js 打造个人高效稳定优雅图床
你要是还学不会,请提刀来见 Typora+PicGo+Gitee + node.js 打造个人高效稳定优雅图床 经过前面两弹的介绍,相信大家对图床都不陌生了吧, 但是小魔童觉得这样做法还是不方便,使用 ...
- JAVA基础(三)—— 输入输出处理
JAVA基础(三)-- 输入输出处理 1 输入解析 //Scanner获取输入 import java.util.Scanner; Scanner s = new Scanner(System.in) ...
- HDOJ-1711(KMP算法)
Number Sequence HDOJ-1711 1.这里使用的算法是KMP算法,pi数组就是前缀数组. 2.代码中使用到了一个技巧就是用c数组看成是复合字符串,里面加一个特殊整数位-1000006 ...