黑马程序员技术交流社区

标题: --------碰到个问题,代码写不来-------- [打印本页]

作者: 吴波    时间: 2013-5-4 01:54
标题: --------碰到个问题,代码写不来--------
本帖最后由 吴波 于 2013-5-4 12:07 编辑

实现int类型数组拷贝的方法,方法声明为
public static void arraycopy(int[] src,int srcPos,int[] dest,int destPos,int length){}
可以用于数组src从第srcPos项元素开始的length个元素拷贝到目标数组dest从destPos开始的length个元素。

作者: 陈圳    时间: 2013-5-4 07:37
  1. public static void arrayCopy(int[] src,int srcPos,int[] dest,int destPos,int length){
  2.                 //三种情况第一种,给定的数组小于指定范围,第二种是正好合适,第三种是大于指定范围
  3.                 int num=(src.length-srcPos)-(length-destPos);
  4.                 if(num<=0)
  5.                         for(int i=srcPos;i<src.length;dest[i]=src[i++]);
  6.                 else for(int i=destPos;i<length;dest[i]=src[i++]);
  7.         }
复制代码

作者: 胡帅冰    时间: 2013-5-4 10:48
  1. /**
  2. *
  3. */
  4. package exercise;

  5. /**
  6. * @author bin
  7. *
  8. */
  9. public class RegexDemo {
  10.     public static void main(String[] args) {
  11.             int [] src= {2,3,6,5,4,5,2,1,3,2,1,2,1,5,4,6,2,1,3,22};
  12.             int [] dest= {10,12,25,45,65,21,32,65,45,84,515,959};
  13.             arraycopy(src,5,dest,6,10);
  14.     }
  15.     public static void arraycopy(int[] src,int srcPos,int[] dest,int destPos,int length){
  16.             if((destPos+length)<dest.length) {
  17.             for(int i=0;i<length;i++) {
  18.                     dest[destPos+i]=src[srcPos+i];
  19.             }
  20.             }
  21.             else {
  22.                     System.out.println("给定的dest数组长度不足以容纳拷贝的数字");
  23.             }
  24.             for(int i=0;i<dest.length;i++) {
  25.             System.out.print(dest[i]+" ");
  26.             }
  27.     }
  28. }
复制代码

作者: 吴波    时间: 2013-5-4 12:06
胡帅冰 发表于 2013-5-4 10:48

非常感谢,终于解决了。




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