LeedCode刷题(2)-Java随机数练习

发布时间 2023-10-28 21:14:29作者: silly_fox

2.随机数练习

(1)随机生成数

题目:请编写如下所示程序

  • 随机生成并显示一位数的正整数(1~9的值)
  • 随机生成并显示一位数的负整数(-9 ~ -1的值)
  • 随机生成并显示两位数的正整数(10~99的值)

①Random类总结

  • random是Java提供的一个类库,它的实例会生成一连串的伪随机数
  • Random创建实例有两种方式
Random rand = new Random();         //不指定种子
Random rand = new Random(5);       //指定种子
  • Random实例的使用
Random rand = new Random();         //不指定种子
int lucky = new Random(10);         //生成0~9的随机数         
  • Random类的方法
方法 类型 生成的值的范围
nextBoolean() boolean true或flase
nextInt() int -2147483648 ~ +2147483648
nextInt(n) int 0 ~ n-1
nextLong() long -9223372036854775808 ~ +9223372036854775808
nextDouble() double 大于等于0.0 小于 1.0
nextFloat() float 大于等于0.0 小于 1.0

②个人答案

import java.util.Random;

public class Test {

    public static void main(String[] args) {

        rand();

    }

    public  static void rand(){
        Random rand = new Random();  //创建对象
        int lucky = 1 + rand.nextInt(9);  //生成1~9的正整数
        System.out.println(lucky);

        lucky = -rand.nextInt(9) - 1;  //生成-9 ~ -1的值
        System.out.println(lucky);

        lucky = 10 + rand.nextInt(89);  //生成10~99
        System.out.println(lucky);
    }

}

(2)键盘输入生成随机数

题目:请编写一段程序,读入通过键盘输入的整数值,然后随机生成并显示其+,-5范围内的整数值

  • 生成-5~5 = 生成(0~10)-5 的随机整数
    public static void rand2(){
        Scanner sc = new Scanner(System.in);   //创建键盘输入对象
        Random rand = new Random();  //创建随机数对象
        System.out.print("整数值:");
        int num = sc.nextInt();              //输入整数值
        int lucky = rand.nextInt(11) - 5;  //生成-5~5的正随机数
        int result = num + lucky;
        System.out.println("生成了该值+-5范围内的随机数是:"+result);
    }

(3)生成随机小数

题目

  • 随机生成并显示大于等于0.0小于1.0的实数值
  • 随机生成并显示大于等于0.0小于10.0的实数值
  • 随机生成并显示大于等于-1.0小于1.0的实数值
    public static void rand3(){
        Random rand = new Random();
        double lucky1 = rand.nextDouble();
        System.out.println("随机生成大于等于0.0小于1.0的实数值:" + lucky1);
        double lucky2 = rand.nextDouble() + 9.0;
        System.out.println("随机生成大于等于0.0小于10.0的实数值:" + lucky2);
        double lucky3 = rand.nextDouble()*2.0 - 1 ;
        System.out.println("随机生成大于等于-1.0小于1.0的实数值:" + lucky3);
    }