学习-Java数组之一维数值数组之随机数统计

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

题目:

任务:统计数组中随机数出现的次数。

相关知识

在 Java 中有一个 Random 类,他可以在指定的取值范围内随机产生数字。

Random 类

要想使用 Random 类,第一步需要导入 java.util.Random 这个包。 import java.util.Random;

第二步需要创建 Random 对象。 Random random = new Random();

创建完 Random 对象之后,我们就可以使用它提供的方法来创建随机数了。

方法名方法说明
nextDouble() 方法返回 0.0 至 1.0 之间的 double 类型值
nextFloat() 方法返回的是 0.0 至 1.0 之间的 float 类型值
nextInt(int n)方法返回的是 0(包括)至 n(不包括)之间的 int 值

代码示例:

  1. public class RandomTest {
  2. public static void main(String[] args) {
  3. Random random = new Random();
  4. System.out.println(random.nextInt(10));
  5. System.out.println(random.nextFloat());
  6. System.out.println(random.nextDouble());
  7. }
  8. }

第一次运行结果:

  1. 4
  2. 0.60541
  3. 0.7046691676099207

第二次运行结果:

  1. 3
  2. 0.055246472
  3. 0.47445795351116005

我们可以看到第一次运行结果和第二次运行的结果是不一样的。当我们想要第一次和第二次运行结果一致的话,可以在创建 Random 对象的时候传入一个 Long 类型的数字,这个数字叫随机种子。具有相同随机种子的 Random 对象生成的随机数是一样的。

示例:

  1. public static void main(String[] args) {
  2. // 创建一个Random对象并传入随机种子
  3. Random random = new Random(10);
  4. System.out.println(random.nextInt(10));
  5. System.out.println(random.nextFloat());
  6. System.out.println(random.nextDouble());
  7. }

第一次运行结果:

  1. 3
  2. 0.44563425
  3. 0.2578027905957804

第二次运行结果:

  1. 3
  2. 0.44563425
  3. 0.2578027905957804

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,统计数组中每个随机数出现的次数,具体要求如下:

  • 接收给定的数据(如:4 88,其中第一个数代表数组长度,第二个数代表随机数种子);
  • 创建数组并添加随机数(随机数介于 0-19 之间);
  • 输出随机数出现的次数(出现次数大于 0 才输出);
  • 按随机数大小排序输出。

代码:

import java.util.Random;
import java.util.Scanner;
public class RandomTest {
    public static void main(String[] args) {
           // 请在Begin-End间编写代码
        /********** Begin **********/
        // 接收给定数据
        Scanner scanner = new Scanner(System.in);
        int z = scanner.nextInt();     // 数组长度
        long l = scanner.nextLong();     // 随机数种子
        // 创建Random对象,并设置随机种子
        Random random = new Random(l);
        // 定义数组添加数据
        int a[] = new int[z];
        for (int i = 0; i < a.length; ++i) {
            a[i] = random.nextInt(20);
        }
        // 统计每个数出现的次数
        int b[] = new int[z];
        for (int i = 0; i < b.length; ++i) {
            b[i] = 0;
        }
        for (int i = 0; i < a.length; ++i) {
            b[a[i]]++;
        }
        // 输出结果
        for (int i = 0; i < z; ++i) {
            if(b[i]>0) {
                System.out.println(i + "出现了:" + b[i] + " 次");
            }
        }
        /********** End **********/
    }
}

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了Java数组之一维数值数组之随机数统计。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酷酷滴Q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值