一些关于数组的简单练习

这篇文章展示了几个Java编程中的数组操作示例,包括统计能被3整除的数字数量,计算数组元素之和,对数组元素进行奇偶性变换,找出数组中的最大值,生成随机数并计算平均值,以及实现数组的反转和打乱顺序的操作。
摘要由CSDN通过智能技术生成

/******************************************************

* 定义一个数组1 2 3 4 5 6 7 8 9 10,遍历数组得到每一个元素,

* 统计数组里一共有多少个能被3整除的数字

* *****************************************************/

 int cnt = 0;
        int arr[] = {1,2,3,4,5,6,7,8,9,10};
        for (int i = 0; i < arr.length; i++) {
            if(arr[i]%3 == 0)
            {
               cnt++;
            }
        }
        System.out.println("有"+cnt+"个数能被3整除");

/******************************************************

* 定义一个数组1 2 3 4 5 ,遍历数组得到每一个元素,

* 求数组里面所有元素的和

* *****************************************************/

 int arr[] = {1,2,3,4,5};
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum +=arr[i];
        }
        System.out.println("数组和为"+sum);

/******************************************************

* 定义一个数组1 2 3 4 5 6 7 8 9 10,遍历数组得到每一个元素,

* 1.如果是奇数,当前数字扩大两倍

* 2.如果是偶数,当前数字缩小到原来的1/2

* *****************************************************/

 int arr[] = {1,2,3,4,5,6,7,8,9,10};
        for (int i = 0; i < arr.length; i++) {
            if(arr[i]%2 == 0) {
                arr[i] = arr[i] / 2 + arr[i] % 2;
                System.out.println("为偶数,缩小1/2为" + arr[i]);
            }
            else{
                arr[i] = arr[i]*2;
                System.out.println("为奇数,扩大两倍为"+arr[i]);
            }

        }

/******************************************************

* 定义一个数组,遍历数组得到每一个元素,

* 找最大值输出

* *****************************************************/

int arr[] = {33,5,222,44,55};
        int max = arr[1];
        for (int i = 1; i < arr.length; i++) {
            if(arr[i]>max){
                max = arr[i];
            }
        }
        System.out.println("最大值为:"+max);

/******************************************************

* 生成10个1~100之间的随机数存入数组

* 1.求所有数据的和

* 2.求所有数据的平均数

* 3.统计有多少个数据比平均值小

*

* *****************************************************/

 Random r = new Random();
        int sum = 0;
        int arr[] = new int[10];
        for (int i = 0; i < arr.length; i++) {

            /*+1表示从1~100*/
            int radomnumber = r.nextInt(100)+1;
           arr[i]=radomnumber;
        }
        System.out.println("随机生成的数组为");

        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        System.out.println("数字之和"+sum);
        double avg;
        avg = sum/10.0;                //这样可以出准确的除数
        System.out.println("数组平均数"+avg);
        int cnt=0;
        for (int i = 0; i < arr.length; i++) {
            if((double) arr[i] < avg)
            {

                cnt++;
            }
        }
        System.out.println("比平均值小的数据有"+cnt+"个");

/******************************************************

*定义一个数组,存入1,2,3,4,5

*交换前 1,2,3,4,5

*交换后 5,4,3,2,1

* *****************************************************/

 int arr[] = {1,2,3,4,5};
        int temp ;//暂存需要交换的元素

          /*************
           * 我原来写的条件是i==j的话循环,初始i!=j所以循环根本就不执行。
           * *************/
        for (int i= 0,j=arr.length-1 ; i<j; i++,j--) {
           temp =  arr[i] ;
           arr[i] = arr[j];
           arr[j] = temp;
           System.out.println("循环了");

        }
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }

/******************************************************

*定义一个数组,存入1,2,3,4,5

*打乱数组中所有数据的顺序

* *****************************************************/

int arr[] = {1,2,3,4,5};
        Random r = new Random();
        int temp;

        for (int i = 0; i < arr.length; i++) {
            int ranomnumber1 = r.nextInt(5);
            int ranomnumber2 = r.nextInt(5);
            temp = arr[ranomnumber1];
            arr[ranomnumber1] = arr[ranomnumber2];
            arr[ranomnumber2] = temp;
        }
        System.out.println("打乱后的数组为:");

        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值