黑马程序员技术交流社区
标题:
在数组指定位置插入一个数据
[打印本页]
作者:
黑马.chl
时间:
2019-6-26 21:18
标题:
在数组指定位置插入一个数据
/*
* 需求:
* 给定一个数组,在指定索引位置插入指定的值
*
* 分析:如果给的索引不在新数组中,结束程序
* 定义一个新数组
* 如果索引在新数组中,索引前的元素正常赋值,索引后的元素索引+1
* 定义一个方法 参数是索引 和 一个数组 返回值类型void
* 使用for循环赋值
*
* */
public class Test11 {
public static void main(String[] args) {
int[] arr = {1,3,5,7,9,11};
boolean b=fn(5,100,arr);
if(b==true){
System.out.println(b);
} else{
System.out.println("插入数据失败,请检查索引是否正确");
}
}
//定义一个方法 参数是索引 和 一个数组 一个数 返回值类型boolean
public static boolean fn(int index,int num,int[] arr){
//定义一个新数组
int[] brr = new int[arr.length+1];
//如果给的索引不在新数组中,结束程序
if(index<0||index>=brr.length){
return false;
}
//使用for循环赋值
for (int i = 0; i < arr.length; i++) {
if(index<=arr.length-1){
//如果索引小于老数组长度,索引前的元素正常赋值
if(i<index){
brr[i]=arr[i];
}else{
//索引后的元素索引+1赋值
brr[i+1]=arr[i];
}
//给index位置赋值
brr[index]=num;
}else{
//如果索引大于老数组长度,正常赋值
brr[i]=arr[i];
brr[index]=num;
}
}
printArray(brr);
return true;
}
//打印数组
public static void printArray(int[] arr){
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
if(i==arr.length-1){
System.out.println(arr[i]+" ]");
}else{
System.out.print(arr[i]+", ");
}
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2