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

复制代码
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]+" ");
        }
}
}
相关推荐
Wang's Blog3 小时前
Java 接入Redis: 服务启动停止与后台运行配置
java·服务器·redis
此时不提桶,更待何时3 小时前
01-04-B-垃圾回收面试与生产事故实战
java·jvm·面试
有点。3 小时前
C++03阶段练习(练习题)
数据结构·算法·图论
鹿角片ljp5 小时前
KV Cache 解析
java·算法
captain3765 小时前
网络原理(9)-数据链路层
java·网络协议·java-ee
惊讶的猫6 小时前
意图识别置信度和检索重排的分数
java
caoerzhong6 小时前
仓库管理数字化趋势解读:JeeWMS 开源 Java WMS 视角下的五个演进方向
java·开源
程序员JerrySUN7 小时前
Jetson Edge AI 实战01:Nano、Xavier、Orin 怎么选?Jetson 硬件选型详解【视频讲解】
java·数据库·redis·安全·mybatis
Joy T8 小时前
Spring AI 2.0 Agent 进阶:Memory、State 与 Context Engineering 常见技术全景
java·人工智能·后端·spring·agent入门·agent state