欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

定义一个整型数组,将奇数数据和偶数数据分别保存在不同的数组之中,随后按照升序排序输出

程序员文章站 2024-01-31 08:13:22
...
/**
 * @Author: TianZhang
 * @Date: 2021/3/10 19:29
 * @Description: 定义一个整型数组,将奇数数据和偶数数据分别保存在不同的数组之中,随后按照升序排序输出
 */
public class AyyrasDemo0201 {
    /**
     * 逻辑
     * 一、创建一个方法,用来执行统计偶数和奇数的数量
     * 1、新建一个长度为2的数组,用来储存统计的奇数和偶数的个数
     * 2、数组名[]++等于将数组的内容逐渐加一
     * 3、利用循环for和if判断我们需要统计的数组里的奇偶数的个数并赋值在统计数量的数组中
     * 4、最后需要用return输出这个数组
     * 二、在主方法中创建偶数的数组、奇数的数组
     * 三、用2个变量定义这2个数组的下标
     * 四、用for和if判断出奇偶数并将这个数填入新建立的奇偶数数组中
     * 五、排序这2个数组
     * 六、打印着2个数组
     */
    public static void main(String[] args) {
        //定义了一个数组
        int[] ay = new int[]{26, 47, 6, 2, 33, 41, 66, 78};
        int[] result = count(ay);
        //创建偶数的数组
        int[] even = new int[result[0]];
        //创建奇数的数组
        int[] odd = new int[result[1]];
        //定义2个数组的下标
        int evenId = 0;
        int oddId = 0;
        for (int i = 0; i < ay.length; i++) {
            if (ay[i] % 2 == 0) {
                even[evenId] = ay[i];
                evenId++;
            } else {
                odd[oddId] = ay[i];
                oddId++;
            }

        }
        //排序
        Arrays.sort(even);
        Arrays.sort(odd);
        //打印
        System.out.println(Arrays.toString(even));
        System.out.println(Arrays.toString(odd));
    }

    //统计个数
    public static int[] count(int[] ay) {
        //创建一个储存奇数偶数数量的数组,数组长度为2
        int[] result = new int[2];
        for (int i = 0; i < ay.length; i++) {
            //判断是否为偶数
            if (ay[i] % 2 == 0) {
                //偶数个数
                //result[0]++ 等于result[0]=0+1+1+1+……
                result[0]++;
            } else {
                //奇数个数
                result[1]++;
            }
        }

        return result;
    }
}