我想从两个数组a和b中打印 a [1,2,3,4] b [6,7,8,9]
这样16273849应该是输出。输入也可以是字符串或数字。所有这些活动都发生在基于条件的函数内。
答案 0 :(得分:2)
for (int i = 0; i < a.length; ++i) {
System.out.print(a[i]);
System.out.print(b[i]);
}
答案 1 :(得分:1)
我相信这会奏效:
for(int i = 0, i < a.length + b.length; i++){
if(i%2 == 0){
System.out.println(a[i/2]);
}else{
System.out.println(b[i/2];
}
}
答案 2 :(得分:0)
您只需要交错数组:
public void interleave(Object[] a, Object[] b){
for(int i = 0; i < a.length; i++){
System.out.print(a[i]);
System.out.print(b[i]);
}
}
这假定a和b总是相同的长度。让我们假设它们可以是不同的长度:
public void interleaveVariableLengthArrays(Object[] a, Object[] b){
int maxLen = Math.max(a.length, b.length);
for(int i = 0; i < maxLen; i++){
if(a.length > i){
System.out.print(a[i]);
}
if(b.length > i){
System.out.print(b[i]);
}
}
}
确保使用System.out.print而不是System.out.println,否则您将在每个打印元素后返回回车。
现在让我们假设你有一个可变数量的列表来交错。
public void interleaveVariableLengthAndNumberOfArrays(ArrayList<Object[]> arrays){
int maxLen = 0;
for(Object[] array : arrays){
if(array.length > maxLen){
maxLen = array.length;
}
}
for(int i = 0; i < maxLen; i++){
for(Object[] array : arrays){
if(array.length > i){
System.out.print(a[i]);
}
}
}
}