Java练习(四)——数组元素顺序移位

题目:一个数组有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。要求从控制台定义数组长度,并从控制台输入数据及顺序后移的位数。【位数不超过数组长度】

1package test; 2 3import java.util.Scanner; 4 5public class Pratice4 { 6 7 public static void main(String[] args) { 8 // TODO Auto-generated method stub 9 Scanner scanner = new Scanner(System.in); 10 System.out.println("请输入数组的长度:"); 11 //接收控制输入的数组长度 12 int length = scanner.nextInt(); 13 //定义一个长度为length的数组,用来存放元素 14 int[] a = new int[length]; 15 for(int i=0;i<length;++i) { 16 System.out.println("请输入第"+(i+1)+"个整数:"); 17 //元素存放数组中 18 a[i] = scanner.nextInt(); 19 } 20 //增强for循环输出数组元素 21 System.out.print("你输入的数组为:"); 22 for (int i:a) { 23 System.out.print(i + " "); 24 } 25 System.out.print("\n请输入向后移动的位数:"); 26 int run = scanner.nextInt(); 27 //定义一个辅助数组 28 int[] b = new int[run]; 29 for (int i = 0; i < run; i++) { 30 b[i] = a[length - run + i]; 31 } 32 for (int i = length - 1; i >= run; i--) { 33 a[i] = a[i - run]; 34 } 35 for (int i = 0; i < run; i++) { 36 a[i] = b[i]; 37 } 38 System.out.print("位移后的数组是:"); 39 for (int i = 0; i < length; i++) { 40 System.out.print(a[i] + " "); 41 } 42 43 } 44 45} 46输出: 47请输入数组的长度: 488 49请输入第1个整数: 509 51请输入第2个整数: 5212 53请输入第3个整数: 546 55请输入第4个整数: 563 57请输入第5个整数: 587 59请输入第6个整数: 605 61请输入第7个整数: 621 63请输入第8个整数: 6416 65你输入的数组为:9 12 6 3 7 5 1 16 66请输入向后移动的位数:4 67位移后的数组是:7 5 1 16 9 12 6 3
点赞
收藏

评论区

加载中...

相关推荐

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

C 语言代码大全

1两个数组的合并题目描述已知数组a中有m个按升序排列的元素,数组b中有n个按降序排列的元素,编程将a与b中的所有元素按降序存入数组c中。输入输入有两行,第一行首先是一个正整数m,然后是m个整数;第二行首先是一个正整数n,然后是n个整数,m,n均小于等于1000000。输出输出合并后的mn个整数,数据之间用空格隔开。输出占一行。样例输入4

Go 定长的数组

1.Go语言数组的简介  几乎所有的计算机语言都有数组,应用非常的广泛。同样,在Go语言中也有数组并且在数组的基础上还衍生出了切片(slice)。数组是一系列同一类型数据的集合,数组中包含的每个数据被称为数组元素,一个数组包含的元素个数被称为数组的长度,这是数组的基本定义。  在Go语言中数组是一个值类型(ValueType)

Java基础14

1.二位数组可以看成以数组为元素的数组2.java中多维数组的声明和初始化一样,应该从高维到低维的顺序进行,例如1intanewint3;2a0newint2;3a1newint4;4a2newint3;5inttnew

Java如何遍历二维数据

/\需求:二维数组遍历外循环控制的是二维数组的长度,其实就是一维数组的个数。内循环控制的是一维数组的长度。\/classArray2Test{publicstaticvoidmain(String\\args){//定义一个二维数组int\\\\arr{{1,2,3}

LeetCode 5561. 获取生成数组中的最大值

文章目录1\.题目2\.解题1\.题目给你一个整数n。按下述规则生成一个长度为n1的数组nums:nums00nums11当2<2i<n时,nums2inumsi