Math类与Random类

Math类

Math类有如下的常见方法:
1、static double abs(double a):返回double值的绝对值。
2、static double max(double a, double b):返回两个double值里面较大的一个。
3、static double random():返回一个随机的double值,该值 大于等于0.0且小于1.0.
示例:获取输入的四位数字的百位看是否同随机生成的数相同,相同则为幸运客户。

public class Demo {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int random = (int) (Math.random() * 10);
        System.out.println("please input a four num");
        int num = input.nextInt();
        System.out.println(random);
        int num2 = num / 100 % 10;
        if (num2 == random) {
            System.out.println("good luck");
        } else {
            System.out.println("thank you");
        }
    }
}

Random类

Random类用于生成随机数。每当需要以任意或非系统的方式生成数字时,可使用此类。Math类的random()方法底层就是使用Random类实现的。

Random类的构造方法有两种重载方式:
1、Random() :创建一个随机数生成器
2、Random(long seed):使用单个long种子创建一个新的随机数生成器

Random类中还定义了很多方法用于获取随机数,最常用的是nextInt()方法,它返回下一个伪随机数,返回值类型是整型。
返回下一个伪随机数的语法格式如下:
int nextInt();返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的int值。
int nextInt(int n);返回下一个伪随机数,它是取自此随机数生成器序列的、在0(包括)和指定的值n(不包括n)之间均匀分布的int值。

示例:生成5个10以内的随机数

import java.util.Random;
public class RandomDemo {
    public static void main(String[] args) {
        Random rand = new Random();
        for (int i = 0; i < 5; i++) {
            System.out.print(rand.nextInt(10));
        }
    }
}

注:如果用同样一个种子值来初始化两个Random对象,然后用每个对象调用相同的方法,那么得到的随机数也是相同的。

import java.util.Random;
public class RandomDemo {
    public static void main(String[] args) {
        Random rand = new Random(100);
        Random rand2 = new Random(100);
        for (int i = 0; i < 5; i++) {
            System.out.print(rand.nextInt(5));
            System.out.println(rand2.nextInt(5));
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容