最佳答案
//index下标从0开始
public static int[] remove(int[]ary,int index){
int[]array = new int[ary.length-1]; //返回数组
int flag = 0; //作为标识,表示是否已删除index位置处的值,0表示未到
//满足以下条件,返回null
if(ary==null||ary.length<=1||index>ary.length||index<0){
return null; //返回null
}else{
//ary.length至少从2开始
for (int i = 0; i < ary.length; i++) {
if(flag==0){
if(i!=index){
array[i] = ary[i];
}else{
flag = 1; //此处代表删除值得位置,给了标记
array[i] = ary[i+1];
}
}else{
if(i+1>ary.length-1){ //超出范围直接结束循环
break;
}else{
array[i] = ary[i+1];
}
}
}
}
return array;
}
public static void main(String[] args) {
int[]ary = {2,3,4,5,6};
int[]array = remove(ary,0);
System.out.println(array.toString());
}
追答:
flag = 1; //此处代表删除值得位置,给了标记这个下面也要加上if(i+1>ary.length-1){ //超出范围直接结束循环break;}else{array[i] = ary[i+1];}
最佳答案由网友 鸿蒙之境_2015 提供