要完成要给数组的排序

1.题目是
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。
请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。
例如:
输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3
输出:[1,2,2,3,5,6]
解释:需要合并 [1,2,3] 和 [2,5,6] 。
合并结果是 [1,2,2,3,5,6] ,其中1,2,3是nums1中的元素。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/merge-sorted-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2.这是我用IDE做的,问题是当我输入完成第一个数组的大小后,“请输入第一个数组” “请输入第二个数组大小”会同时打印,(想插个截图给大家看看,插不进来)

代码如下,错误在哪里呢,谢谢大家
package xuexi;

import java.util.*;

public class Paixv {
Scanner in=new Scanner(System.in);
public int m;
public int n;
public int[] nums1=new int[m];
public int[] nums2=new int[n];
public void paixv()
{
System.out.println("请输入第一个数组的大小");
m=in.nextInt();
System.out.println("请输入第一个数组");
for(int i=0;i<nums1.length;i++)
{
nums1[i]=in.nextInt();
}
System.out.println("请输入第二个数组大小");
n=in.nextInt();
System.out.println("请输入第二个数组");
for(int j=0;j<n;j++)
{
nums2[j]=in.nextInt();
}
for(int k=0;k<nums2.length;k++)
{
nums1[m+k]=nums2[k];
}
Arrays.sort(nums1);
System.out.println("排序后的数组");
for(int i=0;i<nums1.length;i++)
{
System.out.print(nums1[i]);
}

}
public static void main(String[] args) {
        Paixv a=new Paixv();
        a.paixv();

}

}

缓存问题。


import java.util.*;
public class Paixv {
Scanner in=new Scanner(System.in);
public int m;
public int n;
public int[] nums1=new int[m];
public int[] nums2=new int[n];
public void paixv()
{
System.out.println("请输入第一个数组的大小");
m=in.nextInt();
System.out.println("请输入第一个数组");

in=new Scanner(System.in);
for(int i=0;i<nums1.length;i++)
{
nums1[i]=in.nextInt();
}
System.out.println("请输入第二个数组大小");

in=new Scanner(System.in);

n=in.nextInt();
System.out.println("请输入第二个数组");
for(int j=0;j<n;j++)
{
nums2[j]=in.nextInt();
}
for(int k=0;k<nums2.length;k++)
{
nums1[m+k]=nums2[k];
}
Arrays.sort(nums1);
System.out.println("排序后的数组");
for(int i=0;i<nums1.length;i++)
{
System.out.print(nums1[i]);
}
}
public static void main(String[] args) {
        Paixv a=new Paixv();
        a.paixv();
 
}
}