栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java学习笔记-基础day-3-Random随机数api的使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java学习笔记-基础day-3-Random随机数api的使用

1、 随机数Random的介绍
1.概念: java.util.Random类就是用来产生随机数字的,也是一种引用类型 2.随机数Random类的使用步骤:
    (1)导包
        格式:
			import 包名.类名;
			import java.util.Random;
		快捷键:
			alt + 回车
        注意:
			a.java.lang包下的东西可以直接使用,不用导包
            b.当前类和要使用的类,处于同一个包中,也不用导包
     (2)创建对象
     	类名 对象名 = new 类名(...);
		创建Random类的对象:
			 Random r = new Random();//其中: ()中什么都不用写
     
	(3)使用  
        Scanner中获取键盘录入的整数: int num = sc.nextInt();
		Random中产生随机整数数字:
			r.nextInt(): 产生一个int范围内(正负21亿)的随机数字
			r.nextInt(int类型整数数字n): 产生一个0到n之间的随机数字(包含0,但是不包含n)
			其中: 圆括号()中的int类型整数数字n表示产生随机数字的上限范围
                  

        思考:
            产生20个66到178之间(包含66,包含178)的整数数字
3.2 Random类的使用
练习:
	
    产生10个1到100之间(包含1,包含100)的整数数字	
        
public class Demo01 {
    public static void main(String[] args) {
        //创建Random类的对象
        Random r = new Random();

        //产生10个1到100之间(包含1,包含100)的整数数字
        
        for (int i = 0; i < 10; i++) {
            //产生1个1到100之间(包含1,包含100)的整数数字
            int num = r.nextInt(100) + 1;//[0,99]+1
            System.out.println(num);
        }
    }
}
public class Demo02 {
    public static void main(String[] args) {
        //创建Random类的对象
        Random r = new Random();
        //产生10个66到178之间(包含66,包含178)的整数数字
        for (int i = 0; i < 10; i++) {
            //产生1个66到178之间(包含66,包含178)的整数数字
            int num = r.nextInt(113)+66;
            System.out.println(num);
        }
        System.out.println("-------------");
        //证明以上方式,是可以产生最小值66和最大值178的
        while (true) {
            //产生1个66到178之间(包含66,包含178)的整数数字
            int num = r.nextInt(113)+66;
            System.out.println(num);
            //设定界限值:66和178是两个界限,一旦出了界限,break结束
            if (num == 66 || num == 178) {
                break;
            }
        }
    }
}

3.3 Random练习-猜数字 需求分析
1.需求:程序生成一个1-100之间(包含1,包含100)的数字,使用程序实现猜出这个数字是多少?
    
2.效果:
	如果猜的数字比随机产生的数字大,提示你猜的数据大了
	如果猜的数字比随机产生的数字小,提示你猜的数据小了
	如果猜的数字与随机产生的数字相等,提示恭喜你猜中了

3.使用的知识点:
    (1)使用产生随机数字的Random类(1.导包 2.创建对象 3.使用: nextInt(100)+1)
    (2)使用键盘录入Scanner类(1.导包 2.创建对象 3.使用: nextInt())
    (3)使用if语句的第三种格式,比较用户输入的数字和产生的随机数字的大小关系
    (4)无法确定用户猜测的次数,需要使用循环(死循环: while(true))
    (5)用户猜测正确后,需要停止循环,使用break  
4.实现步骤:
	(1)创建产生随机数字的Random类的对象
    (2)产生一个[1,100]之间的随机数字,保存到int变量guessNum中,以供用户猜测
    (3)创建键盘录入Scanner类的对象
    (4)以下步骤(5)-(6)是一个循环过程,因为无法确定猜测的次数,使用while(true)
    (5)获取用户猜测的通过键盘录入的数字,保存到int变量inputNum中
    (6)使用if语句的第三种个,对用户猜测的保存在inputNum中的数字 和 产生的保存在guessNum中的数字进行比较
        a.如果 inputNum 大于 guessNum 提示"你猜的数据大了"
        b.否则,如果 inputNum 小于 guessNum 提示"你猜的数据小了"
        c.否则,如果 inputNum 等于 guessNum 提示"恭喜你猜中了",并使用break结束循环
        
实现代码:
public class GuessNum {
    public static void main(String[] args) {
        //(1)创建产生随机数字的Random类的对象
        Random r = new Random();

        //(2)产生一个[1,100]之间的随机数字,保存到int变量guessNum中
        int guessNum = r.nextInt(100) + 1;

        //(3)创建键盘录入Scanner类的对象
        Scanner sc = new Scanner(System.in);
        //(4)以下步骤(5)-(6)是一个循环过程,因为无法确定用户多少次猜中数字,使用while(true)
        while (true) {
            //(5)获取用户猜测的通过键盘录入的数字,保存到int变量inputNum中
            System.out.println("请输入您猜测的数字(1-100之间的整数):");
            int inputNum = sc.nextInt();

            //(6)使用if语句的第三种个,对用户猜测的保存在inputNum中的数字 和 产生的保存在guessNum中的数字进行比较
            if (inputNum > guessNum) {
                //a.如果 inputNum 大于 guessNum 提示"你猜的数据大了"
                System.out.println("你猜的数据大了");
            } else if (inputNum < guessNum) {
                //b.否则,如果 inputNum 小于 guessNum 提示"你猜的数据小了"
                System.out.println("你猜的数据小了");
            } else {
                //c.否则,如果 inputNum 等于 guessNum 提示"恭喜你猜中了",并使用break结束循环
                //注意: inputNum 等于 guessNum 条件 省略不写
                System.out.println("恭喜你猜中了");
                //使用break结束循环
                break;
            }
        }
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/749205.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号