黑马程序员技术交流社区

标题: 数组的覆盖问题 [打印本页]

作者: 一帆风顺    时间: 2012-12-7 15:51
标题: 数组的覆盖问题
/*
本程序比较二个数组arr1=arr1 = {2,4,6,8,10};arr2 = {3,5,7,9,11,13,15,17};
的长度,然后用长度短的数组覆盖长度长的数组的前几项,再将覆盖后的数组中的
元素打印出来。
*/
class Test
{
         public static void main(String[] args)
         {
                    int [] arr1 = {2,4,6,8,10};
                    int [] arr2 = {3,5,7,9,11,13,15,17};
                    if (arr1.length<arr2.length)
                    {
                               System.arraycopy(arr1,0,arr2,0,arr1.length);
                               for (int i=0;i<arr2.length ;i++ )
                               {
                                               System.out.print(arr2+" ");
                               }
                    }
                    else
                   {
                               System.arraycopy(arr2,0,arr1,0,arr2.length);   //这两句话是什么意思??是怎么实现调用的啊????
                               for (int i=0;i<arr1.length ;i++ )
                               {
                                              System.out.print(arr1+" ");
                               }  
                   }
                  System.out.println("over!");
         }
}


作者: 但汉涛    时间: 2012-12-7 16:10
public static void arraycopy(Object src,
                             int srcPos,
                             Object dest,
                             int destPos,
                             int length)
src:源数组;       
srcPos:源数组要复制的起始位置;
dest:目的数组;       
destPos:目的数组放置的起始位置;       
length:复制的长度。注意:src and dest都必须是同类型或者可以进行转换类型的数组.
System.arraycopy(arr1,0,arr2,0,arr1.length);//arr1小于arr2,那么将arr1复制到arr2,起始位置是0.
作者: HM王琦    时间: 2012-12-7 16:28
原来如此,我也明白了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2