Java 如何使用while循环合并2个数组

Java 如何使用while循环合并2个数组,java,Java,我已经给出了到目前为止我对程序的了解,现在我必须使用while循环遍历两个数组,将它们合并到“merge”数组中,这样merge是升序的。您应该使用countFirst和countSecond,而不是first.length和second.length。也就是说,您应该将indexFirst与countFirst进行比较&将indexSecond与countSecond进行比较 我不知道如何做到这一点,如果可以帮助我,这将是伟大的 import java.io.*; import java.ut

我已经给出了到目前为止我对程序的了解,现在我必须使用while循环遍历两个数组,将它们合并到“merge”数组中,这样merge是升序的。您应该使用countFirst和countSecond,而不是first.length和second.length。也就是说,您应该将indexFirst与countFirst进行比较&将indexSecond与countSecond进行比较 我不知道如何做到这一点,如果可以帮助我,这将是伟大的

import java.io.*;
import java.util.*;
public class MergeArrays {

    /**
     * @param args
     */
    public static void main(String[] args) throws IOException{
        int [] first = new int [20];
        int countFirst = 0;      //used to determine number of elements in "first"

        int [] second = new int [20];
        int countSecond = 0;    //used to determine number of elements in "second"

        int [] merge = new int [40];

        int indexMerge = 0;
        int indexFirst = 0;
        int indexSecond = 0;

        //open files
        Scanner inFile1 = new Scanner(new File("array1.txt"));
        Scanner inFile2 = new Scanner(new File("array2.txt"));
        //Scanner inFile1 = new Scanner(new File("array1b.txt"));
        //Scanner inFile2 = new Scanner(new File("array2b.txt"));

        while (inFile1.hasNext()) {
            first[countFirst] = inFile1.nextInt();
            countFirst++;
        }

        while (inFile1.hasNext()) {
            first[countFirst] = inFile1.nextInt();
            countFirst++;
        }

        indexFirst = 0;
        indexSecond = 0;
        } 
    }
}    

因为这看起来像是家庭作业,我不会给出完整的答案,但是

如果您只使用一个循环,并且在每次迭代期间,您决定要从哪个数组添加元素,然后从该数组添加新元素,会怎么样


您也许可以用这种方法解决您的问题。

我相信您的第二个while循环应该将inFile2读入第二个[]数组。您是否尝试过实际合并?试着用手做两个小阵列,了解它应该如何工作。