Java入门——数组经典案例

题目01:数组求最值

 对一组分数:100,88,99,77,80,60 分别求最大值和最小值

public class ArrayDemo01 {
    public static void main(String[] args) {
        int[] score = {100,88,99,77,80,60};
        //以数组的第一个元素为参照,定义变量max存储最大值元素,min存储最小值元素
        int max = score[0];
        int min = score[0];
        //遍历数组内的每一个元素,依次与max,min比较找最大最小值
        for (int i = 0; i < score.length; i++) {
            if (score[i] > max){
                max = score[i];
            }
            if (score[i] < min){
                min = score[i];
            }
        }
        System.out.println("该组分数的最大值是:" + max );
        System.out.println("该组分数的最小值是:" + min );
    }
}

题目02:猜数字游戏

开发一个幸运小游戏,游戏规则如下:

游戏后台随机生成1-20之间的5个数(无所谓是否重复),然后让大家来猜数字:

  • 未猜中提示:"未命中",并继续猜测
  • 猜中提示:"运气不错,猜中了",并输出该数据第一次出现的位置,并输出全部5个数据,最终结束本游戏(第一次猜中该数字就结束游戏)。

 

import java.util.Random;
import java.util.Scanner;
public class ArrayDemo02 {
    public static void main(String[] args) {
        //1.创建一个动态数组存储随机生成的5个数
        int[] data = new int[5];
        //2.把随机生成的5个1-20的数据放到动态数组中
        Random r = new Random();
        for (int i = 0; i < data.length; i++) {
            data[i] = r.nextInt(20)+1;
        }
        //3.使用死循环让用户进行猜测
        Scanner sc = new Scanner(System.in);
        OUT:
        while (true){
            System.out.print("请您输入一个1-20之间的整数进行猜测:");
            int guessData = sc.nextInt();
            //4.遍历数组的每一个数,判断是否与猜中,并给出提示
            for (int i = 0; i < data.length; i++) {
                if (data[i] == guessData){
                    System.out.println("运气不错,猜中了!您猜中的数据的索引是:"+i);
                    break OUT;//跳出整个死循环
                }
            }
            System.out.println("未猜中,请继续猜。");
        }
        //5.输出数组内的所有元素
        for (int i = 0; i < data.length; i++) {
            System.out.print(data[i] + "\t");
        }
    }
}

题目03:随机排名

随机录入5个数据,并对这5个数据进行随机排序

import java.util.Random;
import java.util.Scanner;
public class ArrayDemo03 {
    public static void main(String[] args) {
        //1.创建一个长度为5的动态数组
        int[] datas = new int[5];
        //2.将数据一个个存到数组中去
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < datas.length; i++) {
            System.out.print("请您输入第" + (i+1) + "个数据:");
            int data = sc.nextInt();
            datas[i] = data;
        }
        //3.遍历数组中的每一个元素,随机一个索引,让随机索引的元素与遍历到的本元素交换位置
        Random r = new Random();
        for (int i = 0; i < datas.length; i++) {
            //随机索引的范围是0-4
            int index = r.nextInt(datas.length);
            //定义一个临时变量存储index位置的元素
            int temp = datas[index];
            datas[index] = datas[i];
            datas[i] = temp;
        }
        //4.输出随机排名后的结果
        for (int i = 0; i < datas.length; i++) {
            System.out.print(datas[i] + "\t");
        }
    }
}

题目04:数组排序

使用冒泡排序对6,3,9,0进行排序

public class ArrayDemo04 {
    public static void main(String[] args) {
        //1.定义数组
        int[] arr = {6,3,9,0};
        //2.冒泡排序:从小到大排序(后一个元素与前一个比较)
        //i循环表示该组元素需要比较几轮(冒泡排序:数组长度-1)
        for (int i = 0; i < arr.length-1; i++) {
            //j循环表示每轮交换次数(冒泡排序:数组长度-对应的轮数)
            for (int j = 0; j < arr.length - i - 1; j++) {
                //判断j位置的元素值是否比后一个元素值大,大的放后面
                if (arr[j] > arr[j+1]){
                    int tamp = arr[j+1];
                    arr[j+1] = arr[j];
                    arr[j] = tamp;
                }
            }
        }
        //3.输出冒泡排序后的数组
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + "\t");
        }
    }
}

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值