Java 读取和打印序列以及打印合并序列

Java 读取和打印序列以及打印合并序列,java,Java,我假设使用array编写一个Java程序,方法如下:它读取字符串序列,每个字符串在单独的一行上,并将它们存储在一个数组中,让我们调用它input1,每个单元格一个字符串,按照它们被读取的顺序。序列以一个空行结束:一个是长度为0的字符串。第二个序列也是一样。然后打印第一个序列和第二个序列。然后创建一个包含上述两个数组的所有元素的数组。合并是通过在数组之间交替进行的:即,复制input1的第一个单元格,然后复制input2的第一个单元格。然后复制input1的第二个单元格,然后复制input2的第二

我假设使用array编写一个Java程序,方法如下:它读取字符串序列,每个字符串在单独的一行上,并将它们存储在一个数组中,让我们调用它input1,每个单元格一个字符串,按照它们被读取的顺序。序列以一个空行结束:一个是长度为0的字符串。第二个序列也是一样。然后打印第一个序列和第二个序列。然后创建一个包含上述两个数组的所有元素的数组。合并是通过在数组之间交替进行的:即,复制input1的第一个单元格,然后复制input2的第一个单元格。然后复制input1的第二个单元格,然后复制input2的第二个单元格。当然,一般来说,这两个序列可能具有不同的长度,因此在较短序列完成后,较长序列的所有元素都将简单地附加到输出数组中。最后,打印每行1个字符串的合并数组


import java.util.Scanner;
公共A4级{
公共静态void readInput(扫描器myScanner,字符串[]输入){
布尔值=假;
int指数=0;
而(!streamEnded&&myScanner.hasNext()){
字符串值=myScanner.nextLine();
如果(value.length()==0){
这是真的;
输入[索引]=值;
}否则{
输入[索引]=值;
索引++;
}
} 
}
公共静态void main(字符串[]args){
int size=5;
String[]input1=新字符串[大小];
String[]input2=新字符串[大小];
字符串[]存储=新字符串[大小*2];
扫描器aScanner=新扫描器(System.in);
读取输入(aScanner,input1);
for(int i=0;i
}


我仍然不知道如何将这两个输入合并在一起。有人能告诉我怎么做吗?谢谢

为序列1、序列2和合并序列声明三个数组

使用一个变量whichToUse来存储要使用的数组,并在while循环之前将array1分配给它,然后将值存储到System.out.print位置的array1中,然后当第一次达到value.length()==0(“=”不是为比较而设计的,这是代码中的一个错误)时,将whichToUse点更改为array2。当第二个值达到.length()=0时,结束读取循环。要标记的一个位置,将streamEnded声明为int,以计算达到该值的次数。length()==0。仅在流==2时退出循环

现在有两个数组,其中包含来自文件的值。下一步是合并它们。使用for循环迭代合并序列中的项,并使用循环计数器%2确定在为合并序列项赋值时要读取的数组。在array1和array2中的任何一个到达末尾后,读取循环其余部分中的另一个数组


看起来您是Java新手,我认为自己编写代码比我提供给您的代码要好得多。如果您有任何其他问题,请在此处发表评论。

谢谢您的回复,但很抱歉我有点慢,您能解释更多或给我一些提示吗。谢谢,非常感谢我所得到的,您只需迭代第三个数组,并确定当前项应分配给哪个值。对于第三个数组的第一项,1%2=0,然后从数组1中获取第一个值。我在打电话,所以不能提供密码。对不起。
import java.util.Scanner;
public class A4 {
public static void readInput(Scanner myScanner, String[] input) {
    boolean streamEnded = false;
    int index = 0;

    while (!streamEnded && myScanner.hasNext()) {

        String value = myScanner.nextLine();

        if (value.length() == 0)  {
            streamEnded = true;
            input[index] = value;
        } else {
            input[index] = value;
            index++;

        }
    } 

}

public static void main(String[] args) {
    int size = 5;
    String[] input1 = new String[size];
    String[] input2 = new String[size];
    String[] store = new String[size*2];

    Scanner aScanner = new Scanner(System.in);

    readInput(aScanner, input1);
    for (int i = 0; i < input1.length; i++) {
        System.out.println("input[" + i +"]" + input1[i]);
    }

    readInput (aScanner, input2);
    for (int i = 0; i < input2.length; i++) {
        System.out.println("input[" + i +"]" + input2[i]);
    }

}