知识点:
核心理解:
假设 n 为奇数,删除该下标元素后,根据元素下标删除后会自动回落的特型,下一个奇数既是n+1;
总感觉有点不对劲,有bug 的话麻烦大神指点一二
public class Test {
//编写方法... 该方法仅保留数组a 中下标为偶数 且 其值也为偶数的元素,其余的元素全部删除
//剩余元素形成一个新的数组b 并返回
public static void main(String[] args) {
int[] a = new int[100];
System.out.println("原始数组:");
System.out.println();
for (int i = 0;i < a.length;i++){
a[i] = (int)(101*Math.random());
//打印原始数组
System.out.print(a[i]+"\t");
}
//实例化处理对象
Test t = new Test();
int[] b=t.delete(a);
//打印处理后的数组
System.out.println("处理后的数组:");
System.out.println();
for (int i = 0; i < b.length;i++){
System.out.print(b[i]+"\t");
}
}
public int[] delete(int[] a){
int[] b ={};//按要求返回int 数组b
int temp = 1;
Vector<Integer> v = new Vector<>();
for (int i = 0;i < a.length;i++){
v.addElement(a[i]);
}
//先删除所有下标为奇数的下标
for (int i =1;i < v.size();i++){
v.removeElementAt(i);
}
System.out.println(v.size());
for (int i = 0;i < v.size();i++){
//先删除所有值为奇数的下标
if (v.elementAt(i) % 2 == 1){
v.removeElementAt(i);
}
}
//按要求返回b数组
b = new int[v.size()];
for (int i = 0; i < b.length;i++){
b[i] = v.elementAt(i);
}
return b;
}
}