package day06;
/**
*定义一个deleteFirst函数,给一个数删除该数组中第一次出现的元素,返回新数组,然后打印新数组
例如:源数组为:{9,1,2,1,2,1,4} 删除第一个1
新数组为{9,2,1,2,1,4}
* @author Administrator
*
*/
public class LianXi2 {
/**
* deleteFirst函数
* 给一个数删除该数组中第一次出现的元素,返回新数组,然后打印新数组
*/
public static int [] deleteFirst(int arrA[] , int num){
//定义一个新数组,新数组的长度等于原数组的长度-1
int [] arrB = new int [arrA.length -1];
//返回第一次出现num的数组下标
int index = 0;
//循环遍历原数组,
for(int i = 0 ; i < arrA.length -1; i++){
//当原数组中元素等于输入的数值时,且index = 0
if( arrA[i] == num && index == 0 ){
//将index的值设为1
index = 1;
//将原数组中的元素值存入新的数组arrB中
//如果当前元素和输入的数值num相等,arrB中的元素为arrA中的下一个元素
arrB[i] = arrA[i + 1];
}
//如果当前元素和输入的数值num不相等,arrB中的元素为arrA中的元素
arrB[i] = arrA[i + index];
}
//返回数组arrB
return arrB;
}
/**
* 主方法
*/
public static void main(String[] args) {
//定义原数组
int [] arrA = {9,1,2,1,2,1,4};
//定义一个需要删除的数值num
int num = 1;
//定义一新数组arrB
int [] arrB ;
//将deleteFirst函数返回的值赋值给新数组
arrB = deleteFirst(arrA , num);
System.out.print("原数组为:");
//循环遍历arrA数组
for(int j : arrA){
System.out.print( j );
}
System.out.print(",删除第一次出现的"+num+"后的数组为:");
//循环遍历新数组
for(int i = 0 ; i < arrB.length ; i++){
//打印输出新数组的元素值
System.out.print(arrB[i]);
}
}
}
运行结果: