复制数组部分元素
- 需求:定义一个方法copyOfRange(int[] arr,int from,int to)
- 功能:将数组arr中从索引from(包含from)开始。到索引to结束(不包含to)的元素复制到新数组中,将新数组返回
- 分析:新数组的元素为[from,to),左闭右开,那么新数组的长度为to-from
- 举例:比如[3,5),里面共有3,4两个元素,故新数组里共有to-from个元素
public class FDemo {
public static void main(String[] args) {
/*
* 复制数组
* 需求:定义一个方法copyOfRange(int[] arr,int from,int to)
* 功能:将数组arr中从索引from(包含from)开始。
* 到索引to结束(不包含to)的元素复制到新数组中,将新数组返回
* 分析:新数组的元素为[from,to),左闭右开,那么新数组的长度为to-from
* 举例:比如[3,5),里面共有3,4两个元素,故新数组里共有to-from个元素
* */
//1. 定义原始数组
int[] arr = {1,2,3,4,5,6};
//2. 调用方法,拷贝数据
int[] copyArr = copyOfRange(arr,3,5);
//3. 遍历数组copyArr
for (int i = 0; i < copyArr.length; i++) {
System.out.print(copyArr[i]+" "); //这里必须加双引号,因为如果是单引号的话结果就会变成3637
//System.out.print(copyArr[i]+" "); //因为单引号是字符,而空格的ASCII码值为32,则输出就变成了ASCII码值
}
}
// 将数组arr中从索引from(包含from)开始。到索引to结束(不包含to)的元素复制到新数组中。
// 该方法的返回值类型为一个整数数组,因为参数是一个整数数组
public static int[] copyOfRange(int[] arr,int from,int to){
//1.定义一个新数组copyArr
int[] copyArr = new int[to-from];
//2.遍历数组arr,将索引为[from,to)的元素复制给新数组copyArr
int k = 0; //定义一个copyArr的索引k
for (int i = from; i < to; i++) {
copyArr[k++] = arr[i];
//等价于:copyArr[k] = arr[i]; k++;
}
//3. 将新数组返回
return copyArr;
}
}