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

发布于:2025-05-15 ⋅ 阅读:(60) ⋅ 点赞:(0)
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]+" ");
        }
}
}

网站公告

今日签到

点亮在社区的每一天
去签到