怎么写唉(刚刚入门)

初始化一个10元素的一维整数数组,从键盘输入一个整数n,将一维数组的后面n个数移动到数组前面。

解题思路如下:

  1. 初始化一个长度为 10 的整数数组;
  2. 从键盘接收输入保存到整数变量 n;
  3. 将一维数组后面 n 个数移动到数组前面;

示例代码如下:

public class Test {

    public static void main(String[] args) {
        // 1. 初始化一个长度为 10 的整数数组;
        int[] nums = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

        // 2. 从键盘接收输入保存到整数变量 n;
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入1-10之间的整数:");
        int n = scanner.nextInt();
        if (n < 1 || n > 10) {
            throw new IllegalArgumentException("整数有误");
        }

        System.out.println("旧数组值是:" + Arrays.toString(nums));

        // 3. 将一维数组后面 n 个数移动到数组前面;
        // 保存后面数组中后面 n 个元素
        int[] right = new int[n];
        // 将 nums 中后面 n 个元素复制到 right 数组中
        System.arraycopy(nums, nums.length - n, right, 0, n);
        // 将 nums 前面的元素复制到后面
        System.arraycopy(nums, 0, nums, n, nums.length - n);
        // 再将保存的后面的元素复制到前面
        System.arraycopy(right, 0, nums, 0, n);

        System.out.println("新数组值是:" + Arrays.toString(nums));
    }

}

运行示例如下:

img

如果有帮助,麻烦动动小手给个采纳。

参考下这个

package shenzhoushuma;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String line = bf.readLine();
        String substring = line.substring(1, line.lastIndexOf(",")-1);
        String[] split = substring.split("\\,");
        Integer[] arr = new Integer[split.length];
        for (int i = 0; i < split.length; i++) {
            arr[i]=Integer.parseInt(split[i]);
        }
        String[] shuzi = line.split("\\,");
        int num = Integer.parseInt(shuzi[shuzi.length-1]);
        merge(arr,num);
        bf.close();
    }
    public static void merge(Integer[] arrs,int count){
        if (count>arrs.length){
        count = count % arrs.length;
        }
        for (int j = 1; j <= count; j++) {
            int tmparr = arrs[arrs.length - 1];
            for (int i = arrs.length - 1; i > 0; i--) {
                arrs[i] = arrs[i - 1];
            }
            arrs[0] = tmparr;
        }
        System.out.println(Arrays.toString(arrs));
    }
}