如何在java中使用单个循环打印两个长度不同但数据类型相同的数组?

如何在java中使用单个循环打印两个长度不同但数据类型相同的数组?,java,arrays,loops,Java,Arrays,Loops,我试过这个 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

我试过这个

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]);
   }
}
publicstaticvoidmain(字符串[]args)抛出ArrayIndexOutOfBoundsException
{
int arr1[]={1,2,3,4,5};
int arr2[]={6,7};

对于(inti=0;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]);
     }
   }
}
publicstaticvoidmain(字符串[]args)抛出ArrayIndexOutOfBoundsException
{
int arr1[]={1,2,3,4,5};
int arr2[]={6,7};
int max=arr1.1长度;
如果(最大值对于(int i=0;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]);
       }
    }
publicstaticvoidmain(字符串[]args)抛出ArrayIndexOutOfBoundsException
{
int arr1[]={1,2,3,4,5};
int arr2[]={6,7};

对于(inti=0;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]);
}
intarr1[]={1,2,3,4,5};
int arr2[]={6,7};
int a1=arr1.length();
int a2=arr2.length();
int n=a1>a2?a1:a2;
对于(int i=0;ii)
系统输出println(arr1[i]);
如果(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]);
  }
intarr1[]={1,2,3,4,5};
int arr2[]={6,7};
对于(int i=0;i
您可以使用下面的代码。您仍然可以满足两个数组长度相同的条件。只有当数组长度不同时,这才有效

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]);
               }
    }

}
publicstaticvoidmain(字符串[]args)抛出ArrayIndexOutOfBoundsException
{
int arr1[]={1,2,3,4,5};
int arr2[]={6,7};
int arr1Length=arr1.length;
int arr2Length=arr2.length;
如果(arr1.长度>arr2.长度)
{

对于(int i=0;如果您共享它引发的错误,iIt将很有帮助。查看您的代码,因为
arr1
arr2
长,循环将继续经过
arr2
的长度,在该长度处没有元素,从而导致失败。如果我们知道预期输出是什么,这也会很有帮助。如果我能够d、 …可能的副本