Java 合并阵列时发生运行时错误

Java 合并阵列时发生运行时错误,java,runtime-error,Java,Runtime Error,我目前正在尝试合并数组,并且我已经完成了大部分程序,但是我一直收到一个错误。我试着修改它,我不断地把自己挖到一个洞里,离正确的方向越来越远,所以我回到了我原来的代码 我的代码: import java.util.Scanner; import java.lang.Math; class Main { public static void main(String[] args){ Scanner scan = new Scanner (System.in); Sys

我目前正在尝试合并数组,并且我已经完成了大部分程序,但是我一直收到一个错误。我试着修改它,我不断地把自己挖到一个洞里,离正确的方向越来越远,所以我回到了我原来的代码

我的代码:

import java.util.Scanner;

import java.lang.Math;

class Main { 
    public static void main(String[] args){

    Scanner scan = new Scanner (System.in);
    System.out.println ("Enter the values for the first array, up to 10000 values, enter a negative number to quit");


    int[] array1 = new int[10000];
    int[] array2 = new int[10000];
    int input = 0; //input for arrays
    int count = 0; //count for element position

    //adds input into first array
    while (input >= 0) {
      input = scan.nextInt();
      array1[count] = input;
      count++;
    }
    count = 0;

    //adds input into second array
    System.out.println ("Enter the values for the second array, up to 10000 values, enter a negative number to quit");
    input = 0;
    while (input >= 0) {
      input = scan.nextInt();
      array2[count] = input;
      count++;
    }
    //System.out.println(java.util.Arrays.toString(array1));
    //System.out.println(java.util.Arrays.toString(array2));

    //finds length of the input arrays
    int num1 = 0;
    while (array1[num1] >= 0 ){
      num1++;
    }
    int num2 = 0;
    while (array2[num2] >= 0) {
      num2++;
    }

    //checks if arrays are input in order
    for (int i = 0; i < num1 - 1; i++) {
      if (array1[i] > array1[i + 1])
        count = -15;
    }
    for (int i = 0; i < num2 - 1; i++) {
      if (array2[i] > array2[i + 1])
        count = -15;
    }

    //outputs first array
    System.out.println("First Array: ");
    for (int i = 0; i < num1; i++) {
      System.out.print(array1[i]+ " ");
    }
    System.out.println();
    System.out.println();

    //outputs second array
    System.out.println("Second Array: ");
    for (int i = 0; i < num2; i++) {
      System.out.print(array2[i]+ " ");
    }
    System.out.println();

    //outputs if array if no errors
    if (count == -15){
      System.out.println();
      System.out.println ("ERROR: Array not in correct order");
    }
    else {
      String answer = "";

      //checks for biggest number
      int biggest = 0;
      for (int i = 0; i < num1; i++) {
        if (array1[i] > biggest)
          biggest = array1[i];
      }
      for (int i = 0; i < num2; i++) {
        if (array2[i] > biggest)
          biggest = array2[i];
      }
      System.out.println ();


      //merges the arrays
      for (int i = 0; i <= biggest; i++) {
        for (int x = 0; x < num1; x++) {
          if (array1[x] == i)
            answer += i + " ";
      }
        for (int x = 0; x < num2; x++) {
          if (array2[x] == i)
            answer += i + " ";
      }
      }

      System.out.println ("Merged Array: "); 
      System.out.println (answer);
    }

  }
}
import java.util.Scanner;
导入java.lang.Math;
类主{
公共静态void main(字符串[]args){
扫描仪扫描=新扫描仪(System.in);
System.out.println(“输入第一个数组的值,最多10000个值,输入负数退出”);
int[]数组1=新int[10000];
int[]array2=新int[10000];
int input=0;//数组的输入
int count=0;//元素位置的计数
//将输入添加到第一个数组中
while(输入>=0){
输入=scan.nextInt();
数组1[计数]=输入;
计数++;
}
计数=0;
//将输入添加到第二个数组中
System.out.println(“输入第二个数组的值,最多10000个值,输入负数退出”);
输入=0;
while(输入>=0){
输入=scan.nextInt();
array2[count]=输入;
计数++;
}
//System.out.println(java.util.Arrays.toString(array1));
//System.out.println(java.util.Arrays.toString(array2));
//查找输入数组的长度
int num1=0;
而(数组1[num1]>=0){
num1++;
}
int num2=0;
而(array2[num2]>=0){
num2++;
}
//检查数组是否按顺序输入
对于(int i=0;i数组1[i+1])
计数=-15;
}
对于(int i=0;iarray2[i+1])
计数=-15;
}
//输出第一个阵列
System.out.println(“第一个数组:”);
对于(int i=0;i最大值)
最大=阵列1[i];
}
对于(int i=0;i最大值)
最大=阵列2[i];
}
System.out.println();
//合并阵列

对于(int i=0;我尝试只发布相关的代码段;目前代码段太长,使人们无法理解它。从调用堆栈中,异常源自第29行。从那里开始您的调查方法测试和assertRegex在哪里?它实际上位于从main开始的assertRegex第94行
<b>Runtime Error</b>

Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at Main.main(Main.java:243)
at Ideone.assertRegex(Main.java:94)
at Ideone.test(Main.java:42)
at Ideone.main(Main.java:29)