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

复制代码
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]+" ");
        }
}
}
相关推荐
NGSI vimp几秒前
Java进阶——如何查看Java字节码
java·开发语言
你撅嘴真丑25 分钟前
map 与 set容器的应用--话题焦点人物
数据结构
生成论实验室33 分钟前
《事件关系阴阳博弈动力学:识势应势之道》第二篇:阴阳博弈——认知的动力学基础
数据结构·人工智能·科技·神经网络·算法
li16709027044 分钟前
第二十七章:智能指针
c语言·数据结构·c++·visual studio
身如柳絮随风扬1 小时前
多数据源切换实战:从业务场景到3种实现方案全解析
java·分布式·微服务
Java小生不才2 小时前
Spring AI文生音
java·人工智能·spring
凯尔萨厮2 小时前
Springboot2.x+Thymeleaf项目创建
java
fish_xk2 小时前
map和set
java·开发语言
李崧正2 小时前
Java技术分享:Lambda表达式与函数式编程
java·开发语言·python
老了,不知天命2 小时前
鳶尾花項目JAVA
java·开发语言·机器学习