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

执键写春秋
• 阅读 1013

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

package test;

import java.util.Scanner;

public class Pratice4 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入数组的长度:");
        //接收控制输入的数组长度
        int length = scanner.nextInt();
        //定义一个长度为length的数组,用来存放元素
        int[] a = new int[length];
        for(int i=0;i<length;++i) {
            System.out.println("请输入第"+(i+1)+"个整数:");
            //元素存放数组中
            a[i] = scanner.nextInt();
        }
        //增强for循环输出数组元素
        System.out.print("你输入的数组为:");
        for (int i:a) {
            System.out.print(i + " ");
        }
        System.out.print("\n请输入向后移动的位数:");
        int run = scanner.nextInt();
        //定义一个辅助数组
        int[] b = new int[run];
        for (int i = 0; i < run; i++) {
            b[i] = a[length - run + i];
        }
        for (int i = length - 1; i >= run; i--) {
            a[i] = a[i - run];
        }
        for (int i = 0; i < run; i++) {
            a[i] = b[i];
        }
        System.out.print("位移后的数组是:");
        for (int i = 0; i < length; i++) {
            System.out.print(a[i] + " ");
        }

    }

}
输出:
请输入数组的长度:
8
请输入第1个整数:
9
请输入第2个整数:
12
请输入第3个整数:
6
请输入第4个整数:
3
请输入第5个整数:
7
请输入第6个整数:
5
请输入第7个整数:
1
请输入第8个整数:
16
你输入的数组为:9 12 6 3 7 5 1 16 
请输入向后移动的位数:4
位移后的数组是:7 5 1 16 9 12 6 3 
点赞
收藏
评论区
推荐文章
先知 先知
3年前
C 语言代码大全
1两个数组的合并题目描述已知数组a中有m个按升序排列的元素,数组b中有n个按降序排列的元素,编程将a与b中的所有元素按降序存入数组c中。输入输入有两行,第一行首先是一个正整数m,然后是m个整数;第二行首先是一个正整数n,然后是n个整数,m,n均小于等于1000000。输出输出合并后的mn个整数,数据之间用空格隔开。输出占一行。样例输入4
Stella981 Stella981
2年前
LeetCode
一目录不折腾的前端,和咸鱼有什么区别目录一目录二题目三解题思路四统计分析五解题套路二题目在一个nm的二维数组中:每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例
Wesley13 Wesley13
2年前
Go 定长的数组
1.Go语言数组的简介  几乎所有的计算机语言都有数组,应用非常的广泛。同样,在Go语言中也有数组并且在数组的基础上还衍生出了切片(slice)。数组是一系列同一类型数据的集合,数组中包含的每个数据被称为数组元素,一个数组包含的元素个数被称为数组的长度,这是数组的基本定义。  在Go语言中数组是一个值类型(ValueType)
Wesley13 Wesley13
2年前
Java基础14
1.二位数组可以看成以数组为元素的数组2.java中多维数组的声明和初始化一样,应该从高维到低维的顺序进行,例如1intanewint3;2a0newint2;3a1newint4;4a2newint3;5inttnew
Wesley13 Wesley13
2年前
Java如何遍历二维数据
/\需求:二维数组遍历外循环控制的是二维数组的长度,其实就是一维数组的个数。内循环控制的是一维数组的长度。\/classArray2Test{publicstaticvoidmain(String\\args){//定义一个二维数组int\\\\arr{{1,2,3}
Stella981 Stella981
2年前
LeetCode 5561. 获取生成数组中的最大值
文章目录1\.题目2\.解题1\.题目给你一个整数n。按下述规则生成一个长度为n1的数组nums:nums00nums11当2<2i<n时,nums2inumsi
Stella981 Stella981
2年前
Seeker的奇妙求职历险(网易互联网笔试)
素数的个数给出一个包含n个正整数的数组a,把a\i\拆分为若干个和为a\i\的素数,求拆分后最多能有多少个素数。第一行数据为n,表示数组长度,第二行为n个元素。输入3111输出01不可拆分输入135761为0个,3为1个,5为(2,3
Wesley13 Wesley13
2年前
Java基础语法:数组
一、简介描述:数组是相同类型数据的有序集合。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。基本特点:1.数组的长度是确定的。数组一旦被创建,它的大小就是不可以改变的。2.数组元素必须是相同类型,不允许
Stella981 Stella981
2年前
LeetCode:283.移动零——简单
题目:283.移动零:给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入:0,1,0,3,12输出:1,3,12,0,0说明:1.必须在原数组上操作,不能拷贝额外的数组。2.尽量减少操作
Wesley13 Wesley13
2年前
C语言利用动态数组实现顺序表(不限数据类型)
实现任意数据类型的顺序表的初始化,插入,删除(按值删除;按位置删除),销毁功能。、顺序表结构体  实现顺序表结构体的三个要素:(1)数组首地址;(2)数组的大小;(3)当前数组元素的个数。1//顺序表结构体2structDynamicArray{3voidaddr;//指向数组的首地址(