gpt4 book ai didi

java - 合并2个数组

转载 作者:太空宇宙 更新时间:2023-11-04 15:06:42 25 4
gpt4 key购买 nike

所以我正在编写一个程序来打印合并序列,假设只有两个输入。打印序列后,会打印一个空行。此外,该程序还打印合并后的数组,每行一个字符串。数组的大小不超过 10。这是我到目前为止的代码:

import java.util.Scanner;
public class Demo {
public static int 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++;

}
}
return index;

}
public static void printArray(String[] values, int size) {
for (int index = 0; index < size; index++) {
System.out.println(values[index]);
}

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

Scanner aScanner = new Scanner(System.in);

readInput(aScanner, input1);

readInput (aScanner, input2);

readInput (aScanner, merge);

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

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

for (int i = 0; i < merge.length; i++) {
if(i % 2 == 0) {
merge[i] = input1[i / 2];
System.out.println(store[i]);
} else {
merge[i] = input2[i / 2];
System.out.println(store[i]);
}

}

}

}

我的输入:

1

2

3

4


5

6

7

8

所以输出应该是:

1

5

2

6

3

7

4

8

这是我的输出。谁能帮我解决这个问题吗?谢谢

1
2
3
4

5
6
7
8

1
2
3
4

null
null
null
null
null
5
6
7
8
null
null
null
null
null
null
1
6
3
8
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
at Demo.main(Demo.java:47)

null
null
null
null
null

最佳答案

尝试使用以下内容:

  if(i % 2 == 0) {
merge[i] = input1[i/2];
} else {
merge[i] = input2[i/2];
}

对于更新后的代码,

readInput(aScanner, input1); 

应该变成

int index1 = readInput(aScanner, input1); 

对于所有readInputs然后输出循环

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

应该变成

 for (int i = 0; i < index1; i++) {
System.out.println(input1[i]);
}

对于所有输出循环(请注意,您需要为所有 3 个输入和循环使用不同的索引变量,即索引 1、索引 2 和索引 3。

关于java - 合并2个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21897599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com