【JAVA 第五章 】课后习题 删除奇数元素下标 然后再删除值为奇数的下标

知识点:
核心理解:
假设 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;
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值