我试过这个
public static void main(String[] args) throws ArrayIndexOutOfBoundsException
{
int arr1[]= {1,2,3,4,5};
int arr2[]= {6,7};
for(int i=0;i<arr1.length;i++)
{
System.out.println(arr1[i]);
System.out.println(arr2[i]);
}
}
但这行不通。
你必须找到最大长度,然后关心你可以输出什么,以免达到边界。
public static void main(String[] args) throws ArrayIndexOutOfBoundsException
{
int arr1[]= {1,2,3,4,5};
int arr2[]= {6,7};
int max = arr1.length;
if (max < arr2.length){
max = arr2.length;
}
for(int i=0;i<max;i++)
{
if (i < arr1.length){
System.out.println(arr1[i]);
}
if (i < arr2.length){
System.out.println(arr2[i]);
}
}
}
将
循环迭代到两个数组的最大长度,并仅打印索引有效的数组元素。
public static void main(String[] args) throws ArrayIndexOutOfBoundsException
{
int arr1[]= {1,2,3,4,5};
int arr2[]= {6,7};
for(int i=0;i<Math.max(arr1.length, arr2.length);i++)
{
if(i<arr1.length)
System.out.println(arr1[i]);
if(i<arr2.length)
System.out.println(arr2[i]);
}
}
试试这个,我认为这会起作用
int arr1[]= {1,2,3,4,5};
int arr2[]= {6,7};
int a1 = arr1.length();
int a2 = arr2.length();
int n = a1 > a2 ? a1 : a2;
for(int i = 0; i < n; i++) {
if(a1 > i)
System.out.println(arr1[i]);
if(a2 > i)
System.out.println(arr2[i]);
}
祝你好运
或者
,为了一个接一个地打印它们:
int arr1[]= {1,2,3,4,5};
int arr2[]= {6,7};
for (int i=0; i < arr1.length + arr2.length; ++i)
{
if (i < arr1.length)
System.out.println (arr1 [i]);
else
System.out.println (arr2 [i - arr1.length]);
}
您可以使用
以下代码。您仍然可以满足两个数组长度相同的条件。仅当数组的长度不同时,这才有效。
public static void main(String[] args) throws ArrayIndexOutOfBoundsException
{
int arr1[]= {1,2,3,4,5};
int arr2[]= {6,7};
int arr1Length = arr1.length;
int arr2Length = arr2.length;
if(arr1.length>arr2.length)
{
for(int i=0;i<arr1.length;i++)
{
System.out.println(arr1[i]);
if(i<arr2.length)
{
System.out.println(arr2[i]);
}
else continue;
}
else{
for(int i=0;i<arr2.length;i++)
{
if(i<arr1.length)
{
System.out.println(arr1[i]);
}
else continue;
System.out.println(arr2[i]);
}
}
}