几个简单的数组小练习(适合初学)

复制代码
package Test;

import java.util.Random;

public class shuzu {
    public static void main(String[] args) {


    /*定义一个数组,存储1,2,3,4,5,6,7,8,9,10
    * 遍历数组得到每一个元素
    * 要求:
    * 如果是奇数,则将当前数字扩大两倍
    * 如果是偶数,则将当前数字变成二分之一*/

    int[] arr=new int[]{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;
            }else {
                arr[i]=arr[i]*2;
            }
            System.out.print("第"+i+"个索引的结果="+arr[i]+"\t");
        }


        System.out.println();//换行
        /*
        需求:生成10个1~`100的随机数存入数组
            1)求出所有数据的和
            2)求所有数据的平均数
            3)统计有多少个数据比平均值小
        */
        int[] num=new int[10];


        for (int i = 0; i < num.length; i++) {
            int number=(int)(Math.random()*100+1);
            num[i]=number;
        }
        //1)求和
        int sum=0;
        for (int i = 0; i < num.length; i++) {
            sum+=num[i];
        }
        System.out.println("和="+sum);
        //2)求平均数
        int avg=sum/num.length;
        System.out.println("平均数="+avg);
        //3)有多少个数比平均数小
        int count=0;
        for (int i = 0; i < num.length; i++) {
            if (num[i]<avg){
                count++;
            }
        }
        System.out.println("有"+count+"个数比平均数"+avg+"小");

        for (int i = 0; i < num.length; i++) {
            System.out.print(num[i]+" ");
        }

        System.out.println();//换行
        /*
        需求:定义一个数组,存入1,2,3,4,5,交换首尾索引对应的元素
        交换前:12345
        交换后:(1)52341(2)14325
        */
        //(1)
        int[] ch=new int[]{1,2,3,4,5};

        for (int i = 0; i < ch.length; i++) {
            int temp=ch[0];//创建临时第三变量
            ch[0]=ch[4];
            ch[4]=temp;
        }
        for (int i = 0; i < ch.length; i++) {
            System.out.print(ch[i]+" ");
        }
        System.out.println();//换行
        //(2)
        for (int i=0,j=ch.length-1;i<j;i++,j--){//i:第几个索引。j:最大索引
            int temp01=ch[i];//用第三变量交换,第一次交换最小和最大数值,接下来第二和倒数第二交换对应的数值。
            ch[i]=ch[j];
            ch[j]=temp01;
        }
        for (int i = 0; i < ch.length; i++) {
            System.out.print(ch[i]+" ");
        }
        System.out.println();//换行
        /*
        需求:定义一个数组,存入1~5,要求打乱数组中所有数据的顺序
        */
        int[] luan={1,2,3,4,5,6,7,8,9,10};
        Random rand=new Random();//---------------生成随机数
        for (int i = 0; i < luan.length; i++) {
            int numbe= rand.nextInt(luan.length);//定义一个变量用来存储随机数,随机数范围最大为数组长度
            int temp02=luan[i];
            luan[i]=luan[numbe];//将随机到的索引对应的值赋给正对应的数组索引对应的值
            numbe=temp02;//实现两者交换
        }
        for (int i = 0; i < luan.length; i++) {
            System.out.print(luan[i]+" ");
        }
}
}
相关推荐
寻星探路13 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
曹牧16 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
ValhallaCoder16 小时前
hot100-二叉树I
数据结构·python·算法·二叉树
爬山算法16 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
kfyty72517 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
猫头虎17 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
李少兄17 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
忆~遂愿17 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
小韩学长yyds17 小时前
Java序列化避坑指南:明确这4种场景,再也不盲目实现Serializable
java·序列化