第十八节 Random类

前言

    初学java语言的小白,日常记录个人所学、所思、所感、所获。
    请java语言行业的前辈们多多指教, 目前从事汽车制造行业。
    属于零基础自学,愿未来自己感谢今天的选择和努力。加油!

一、Random的概述和基本使用

2021、9、28更新
笔记:
1.理解Random类的作用
2.Random类和Scanner类的用法基本一致
/*
Random类用来生成随机数字,使用起来也是三个步骤
1.导包
import java.util.Random;
2.创建
Random ra = new Random();//小括号留空即可

3.使用
int num = ra.nextInt();
获取一个随机的int数字(范围是int范围之内,有正负两种)

*/

import java.util.Random;

public class Demo01Random {

public static void main(String[] args) {

    Random ra = new Random();
    int num = ra.nextInt();
    System.out.println("随机数是:"+num);
}

}

二、Random生成指定范围的随机值

2021、9、28更新
笔记:
1.注意要限制Random类的随机范围,那么.nextInt()要使用含参的方法。
2.Random类是左开右闭区间,与数组的类似。即,nextInt(3)实际上的含义是[0,3),也就是0-2

/*
Random类用来生成随机数字,使用起来也是三个步骤
1.导包
import java.util.Random;
2.创建
Random ra = new Random();//小括号留空即可

3.使用
方法一
int num = ra.nextInt();
获取一个随机的int数字(范围是int范围之内,有正负两种)
方法二
int num = ra.nextInt(3);
获取一个随机的int数字(参数嗲表范围,左闭右开区间)
nextInt(3)实际上的含义是[0,3),也就是0-2

*/

import java.util.Random;

public class Demo02Random {

public static void main(String[] args) {

    Random r = new Random();

    for (int i = 0; i < 100; i++) {
        int num =r.nextInt(9);//使用的是带参数的形式,即方法二
        System.out.println("生成的随机数是"+num);//打印出来的结果范围为0-8
    }

}

}

三、Random练习一 生成1-n之间的随机数字

2021、9、28更新
笔记:

  1. r.nextInt(n)本身的范围是0-(n-1),要想把范围调整为1-n,整体+1即可。
  2. int num = r.nextInt(n) + 1是整体+1的写法,int num = r.nextInt(n+ 1) 只是将上限+1,下限仍未改变
    

/*
题目要求;
根据int变量n的值,来获取随机数字,范围是[1,n]

思路:
1.定义一个变量n,随意赋值
2.要使用Random,三个步骤、导包、创建、使用
3.如果写一个数字,那么也就是,可以发现整体+1即可
4.打印随机数字
*/

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

public class Demo03Random {

public static void main(String[] args) {

    int n = 5;
    Random r = new Random();

    for (int i = 0; i < n; i++) {
        int num = r.nextInt(n) + 1;//r.nextInt(n)范围是0-(n-1)现整体+1即可
        System.out.println("根据您所输入的数字,生成的随机数字为"+num);
    }
}

}

四、Random练习二 猜数字的小游戏

2021、9、29更新
笔记:
重点注意:
break;写在哪个判断语句中, while(true)循环就认为哪个判断语句(true)。
while(true)循环是个死循环,必须用break关键字终止循环。

/*
题目要求:
用代码模拟猜数字的小游戏。

思路:
1.首先需要产生一个随机数字,并且一旦产生不再变化。用Randomd的nextInt()方法。
2.需要键盘输入,所以用到了Scanner
3.获取键盘输入的数字,用Scanner的nextInt方法
4.已经得到了两个数字,判断(if)一下。
如果太大了,提示太大,并且重试
如果太小了,提示太小,并且重试
如果猜中,游戏结束
5.重试就是再来一次,循环次数不确定,用while(ture)死循环。

*/

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

public class Demo04RandomGame {

public static void main(String[] args) {

    //创建随机类
    Random ra = new Random();
    int a = ra.nextInt(100) + 1;//[1,100]
    //创建键盘输入类 不需要重复
    Scanner sc = new Scanner(System.in);

    //不限制次数猜测
    while (true) {//注意while(ture){}循环的使用方法
        System.out.println("请输入你猜测的数字");
        int b = sc.nextInt();//这是键盘输入你猜测的数字
        if (a > b) {
            System.out.println("您输入的数字小于随机数字");
        } else if (a < b) {
            System.out.println("您输入的数字大于随机数字");

        } else {
            System.out.println("恭喜你,答对了!!");
            System.out.println("随机数字是:" + a);
            break;//如果猜中,不再重试,
            // break;写在哪个判断语句中, while(true)的理解while就认为哪个判断语句(true)

                }
            }
    //拓展 限制次数(最多10次)猜测,下列代码为正确代码
    /*
            for (int i = 0; i < 10; i++) {
        System.out.println("请输入你猜测的数字");
        int b = sc.nextInt();//这是键盘输入你猜测的数字
        if (a > b) {
            System.out.println("您输入的数字小于随机数字");
        } else if (a < b) {
            System.out.println("您输入的数字大于随机数字");
        } else {
            System.out.println("恭喜你,答对了!!");
            System.out.println("随机数字是:" + a);
        }
    }
     */

    System.out.println("游戏结束");
}

}

心得体会

2021、9、29更新
笔记:
Random类表示生成随机数,注意最后一个案例多知识学习运用 加油 。 2021、9、29

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值