1.键盘录入10个整数存入数组中 2.定义一个方法将奇数放在数组的左侧,偶数放在数组的右侧 3.定义一个方法打印原数组和处理后的数组 4.定义一

(一)分析以下需求,并用代码实现
1.键盘录入10个整数存入数组中
2.定义一个方法将奇数放在数组的左侧,偶数放在数组的右侧
3.定义一个方法打印原数组和处理后的数组
4.定义一个方法传入一个int类型数组,输出这个数组中只出现一次的数字及个数

public class xiaomi05 {
    public static void main(String[] args) {
        //键盘录入10个整数存入数组中
        Scanner sc = new Scanner(System.in);
        int[] arr = new int[10];
        //创建一个新数组
        int[] arr1 = new int[10];
        //遍历数组
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请输入第" + (i + 1) + "个数值");
            arr[i] = sc.nextInt();
        }
        Demo(arr, arr1);
        array(arr, arr1);
        int m = geshu(arr);
        System.out.println("只出现过一次的个数有" + m + "个");
    }

    //2.定义一个方法将奇数放在数组的左侧,偶数放在数组的右侧
    public static void array(int arr[], int arr1[]) {
        //定义奇数索引为0
        int jishu = 0;
        //定义偶数索引为数组长度减一
        int oushu = arr1.length - 1;
        //遍历数组,如果对2取余等于1,奇数索引++,反则偶数索引--,
        for (int j = 0; j < arr.length; j++) {
            if (arr[j] % 2 == 1) {
                arr1[jishu] = arr[j];
                jishu++;
            } else {
                arr1[oushu] = arr[j];
                oushu--;
            }
        }
        arr = arr1;
        Demo(arr, arr1);

    }

    //3.定义一个方法打印原数组和处理后的数组
    public static void Demo(int arr[], int arr1[]) {
        System.out.print("[");
        for (int c = 0; c < arr.length; c++) {
            if (c == arr.length - 1) {
                System.out.print(arr[c]);
            } else {
                System.out.print(arr[c] + ",");
            }
        }
        System.out.println("]");
    }

    // 4.定义一个方法传入一个int类型数组,输出这个数组中只出现一次的数字及个数
    //[12,2,3,12]
    public static int geshu(int arr[]) {
        int jishuqi = 0;//计算这个数组中只出现过一次的数字
        for (int v = 0; v < arr.length; v++) {
            //把sss赋值成布尔类型,作为判断语句
            boolean sss = true;
            //将数组中的元素遍历寻找,如果索引相同就跳过并且h+1;然后继续循环,继续寻找
            for (int h = 0; h < arr.length; h++) {
                if (h == v) {
                    continue;
                    //如果数值相同,就把SSS赋值成false,跳出对比的小循环,进入大循环V+1后在进入小循环。
                } else {
                    if (arr[h] == arr[v])
                        sss = false;
                }
            }//如果有相同的,将计数器数值加一个
            if (sss) {
                jishuqi++;
                System.out.print(arr[v] + ",");
            }
        }//循环结束后,输出有多少个相同的
        return jishuqi;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值