java数组知识巩固——最值,反转,打乱数组顺序综合案例编写

2023-12-31 05:48:45

前言:

数组正式学完,为了更好的熟悉知识与代码,编写小案例来巩固知识

数组知识点可以看这篇:java数组概述——静态数组和动态数组的使用及对比?

同时案例3需要用到Scanner(文本扫描器)和Random(随机数生成器),有需要的可以看这篇:

Scanner(文本扫描器)和Random(随机数生成器)的说明及使用,运用分支结构和循环结构编写猜数字游戏

案例1:求最值

练习:已知九个人的业绩为12,14,25,36,23,22,34,23,23,从中挑选出数值最高业绩及最低业绩。

实验思路:设置一个参照量,让所有数据与参照量相比,记录最大值与最小值

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

        int [] yeji = {12,14,25,36,23,22,34,23,23};
           int max = yeji[0];//设置最大值参照
           int min = yeji[0];//设置最小值参照
        for (int i = 1; i < yeji.length ; i++) {
            //
            if(max < yeji[i]){//如果变量大于参照
                max = yeji[i];//把变量赋值给参照
            }

        }
        for (int i = 0; i < yeji.length; i++) {
            if (min > yeji[i]){//如果变量小于参照
                min = yeji[i];//把变量赋值给参照

            }

        }
        System.out.println("最大值为:"+max);//输出最大值
        System.out.println("最小值为:"+min);//输出最小值
    }
}

?实验结果:输出最大值36,最小值12

案例2:数组反转

练习:已知一个数组{12,14,24,35,23},把这个数组前后颠倒位置,使其变成{23,35,24,14,12}

实验思路:分别对数组内第一个数字和最后一个数字设置变量,使其交换位置;之后使第二个数字与倒数第二个数字交换位置......直到全部交换完

public class jiaohuan {

    public static void main(String[] args) {
        
        int [] lala = {12,14,24,35,23};
        for (int i = 0 ,j= lala.length -1; i < j; i++ ,j--) {
          //设置第一位为i,最后一位数为j,i递增,j递减
            int lemp = lala[j];//把最后一个值先赋值给临时变量
            lala[j]= lala[i];//把第一个值赋值给最后一个值
            lala[i]= lemp;//把临时变量里的值给第一个值


        }
        for (int i = 0; i < lala.length ; i++) {
            System.out.print(lala[i]+" ");//输出数组

        }
    }
}

实验结果:成功输出反转的数组

案例3:打乱数组顺序

练习:依次输入10张牌号,使其输入完毕后打乱顺序

实验思路:先设置一个可以输入牌号的系统,然后设置一个随机抽数的系统,最后使数组内数据依次与抽出的数据交换

import java.util.Random;
import java.util.Scanner;

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

        //定义一个可以输入号码的数组

        int[] paiku = new int [10];

        //可以输入号码
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < paiku.length; i++) {
            System.out.println("第"+(i + 1)+"位选手输入号码");
            paiku[i] = sc.nextInt();

        }
        //设计随机洗牌
        Random r = new Random();
        for (int i = 0; i < paiku.length ; i++) {

            int bianliang  = r.nextInt(paiku.length);//在(0-9)中随机查抽出数字
            int temp = paiku[bianliang];把数字对应的数值赋值给临时变量
            paiku[bianliang]=paiku[i];把第一位数值赋值给抽出的数值
            paiku[i]= temp;//把临时变量赋值给第一个数值


        }

        for (int i = 0; i < paiku.length; i++) {
            System.out.print(paiku[i]+" ");
               //输出数组
        }




    }
}

实验结果:依次输入1-10后,数据被打乱

知识点巩固完毕!

---------------------------------------------------------------------------------------------------------------------------------

最后

如果您看到了这篇文章,同时您也在学习java,希望您阅读这篇文章,希望与您一起讨论

基于黑马程序员的java学习笔记(持续更新)

文章来源:https://blog.csdn.net/l822099133/article/details/135299190
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。