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

复制代码
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]+" ");
        }
}
}
相关推荐
开心香辣派小星4 小时前
23种设计模式-15解释器模式
java·设计模式·解释器模式
Halo_tjn4 小时前
虚拟机相关实验概述
java·开发语言·windows·计算机
摆烂z4 小时前
Docker与Jib(maven插件版)实战
java
RainbowSea4 小时前
从 Spring Boot 2.x 到 3.5.x + JDK21:一次完整的生产环境迁移实战
java·spring boot·后端
笨手笨脚の4 小时前
Spring Core常见错误及解决方案
java·后端·spring
奶油松果4 小时前
Springboot自动装配 - redis和redission
java·spring boot·redis
Sylvia-girl4 小时前
数据结构之复杂度
数据结构·算法
CQ_YM5 小时前
数据结构之队列
c语言·数据结构·算法·
霍夫曼5 小时前
UTC时间与本地时间转换问题
java·linux·服务器·前端·javascript
VekiSon5 小时前
数据结构与算法——树和哈希表
数据结构·算法