Scanner(文本扫描器)和Random(随机数生成器)的说明及使用,运用分支结构和循环结构编写猜数字游戏

发布时间:2023年12月29日

前言:

学完了java的分支结构和循环结构,为了更好的熟悉知识与代码,写个小程序来巩固知识

实验前需要的准备:

1,了解java下的分支结构

需要的可以看这篇:java程序流程控制——分支结构下if语句和switch语句的比较及使用

2,了解java下的循环结构

需要的可以看这篇:java程序流程控制——循环结构下for语句,while语句和do-while语句的比较及死循环/循环嵌套/break语句/continue语句的使用

3,了解Scanner(文本扫描器)

4,了解Random(随机数生成器)

这里先了解下scanner和random,再进行猜数字游戏程序的编写?

Scanner(文本扫描器)

Scanner是java官方设计好的一种程序,是一个简单的文本扫描器,可以使用正则表达式解析原始类型和字符串。我们直接在编写程序时调用即可。不清楚的可以在这个文档中,搜索scanner,里面会有用法的说明,这里附上张截图。

scanner(文本扫描器)用法

直接看文档可能不太直观,所以通过sacnner实验进行说明

实验:用户通过键盘输入自己的姓名,年龄,并在程序中收到这些数据

实验逻辑为:1,在自己的程序中添加扫描器这个程序;

? ? ? ? ? ? ??????????2,定义扫描器的变量;

? ? ? ? ? ? ????????? 3,作为用户输入数据进行测试。

?代码如下:

import java.util.Scanner;  //导入包(如果path变量设置正确,会自动导包)

public class scannerdemo {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);//定义扫描器变量
        System.out.println("你的年龄为:");
        int age = sc.nextInt();            //用户要输入的数值
        System.out.println("你的姓名为:");
        String name = sc.next();           //用户要输入的数值
        System.out.println("您的年龄为"+age+"你的姓名为"+name);
    }
}

?实验效果:在用户输入年龄,姓名后,程序会记录年龄及姓名

Random(随机数生成器)

Random同样是java官方设计好的一种程序,是一个随机数生成器。我们直接在编写程序时调用即可。感兴趣的可以在这个文档中,搜索random,里面会有用法的说明,这里附上张截图。


Random(随机数生成器)用法

Random会生成随机数,通过实验来说明

实验1:在十个数的范围内随机抽取一个数值

实验逻辑:1,从java官方提供的程序中导出random;

? ? ? ? ? ? ? ? ? 2,设置random变量;

? ? ? ? ? ? ? ? ? 3,设置数值范围(注:数值默认从0开始,10个数的范围为0-9,不是1-10)

import java.util.Random;
        //导包
public class Randomdemo {
    public static void main(String[] args) {
       
        Random r = new Random();//先编写变量

        int num = r.nextInt(10);//一次随机抽数,需要注意的是,范围是10,取值为(0-9)
        System.out.println(num);
}
}

实验效果:程序会在0-9中,随机抽取一个数字

为了加强理解,我们引入实验2

实验2:在10-20之间随机抽5个数

实验逻辑:1,在可以抽取一个数值的基础上,引入循环语句;

? ? ? ? ? ? ? ? ? 2,设置取值范围,(10- 20)内为11个数值,初始值默认为0,所以要加10

 
import java.util.Random;
        //可以自动导包
public class Randomdemo {
    public static void main(String[] args) {

 Random q = new Random();
        for (int i =1  ;i<= 5 ;i++) {//重复做5次
            int num1 = q.nextInt(11) +10 ;
            //(10- 20)内为11个数值,初始值默认为0,所以要加10
            System.out.println(num1);
        }
   }
}

实验效果为:随机抽取5个数

如果上面都了解了,那么可以进行猜数字游戏了

猜数字游戏

实验:在1-100中随机生成一个数字;猜测者输入数字过大时,提示数字过大;猜测者输入数字过小时,提示数字过小;直到数字被猜中,游戏结束

实验逻辑:1,生成一个随机数字,数字范围为(1-100)

? ? ? ? ? ? ? ? ? 2,设置一个数字输入系统

? ? ? ? ? ? ? ? ? 3,创建一个循环,使其可以一直输入数字

? ? ? ? ? ? ? ? ? 4,创建分支,使其可以进行判断

? ? ? ? ? ? ? ? ? 5,创建终止语句,数字猜中结束循环

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

public class NumberGamedemo {

    public static void main(String[] args) {
        
        Random r = new Random();
        int num = r.nextInt(100)+1;
        //1,生成一个随机数字,数字范围为(1-100)
        Scanner s = new Scanner(System.in);
        //2,设置一个数字输入系统
        while(true){  //3,创建一个循环,使其可以一直输入数字
            System.out.println("请填入数字:");
            int guess = s.nextInt();

            if (guess > num){//4,创建一个分支,使其可以进行判断
                System.out.println("数字过大,请重试");
            }else if (guess < num){
                System.out.println("数字过小,请重试");
            }else{
                System.out.println("恭喜你,猜中了");
                break;
            }
            //5,创建终止语句,数字猜中结束循环
        }
    }
}

实验效果:如图所示

猜数字游戏成功运行

最后

如果您看到了这篇文章,同时您也在学习java,希望您阅读这篇文章,希望与您一起讨论

基于黑马程序员的java学习笔记(持续更新)

文章来源:https://blog.csdn.net/l822099133/article/details/135251325
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。