• Java中的引用类型Scanner类和随机类型Random


     Scanner类

    我们要学的Scanner类是属于引用数据类型,我们先了解下引用数据类型。

      引用数据类型的使用

    与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式。

    数据类型  变量名  =  new 数据类型();

    每种引用数据类型都有其功能,我们可以调用该类型实例的功能。

    变量名.方法名();

    Scanner类

    Scanner类是引用数据类型的一种,我们可以使用该类来完成用户键盘录入,获取到录入的数据。

    Scanner使用步骤:

    //导包:
    import java.util.Scanner;
    
    //创建对象实例:
    Scanner sc = new Scanner(System.in);
    
    //调用方法
    int i = sc.nextInt(); //用来接收控制台录入的数字
    String s = sc.next(); //用来接收控制台录入的字符串

    了解完Scanner类,我们编写代码来使用下它:

    ScannerDemo01.java

    import java.util.Scanner;
    public class ScannerDemo01 {
        public static void main(String[] args) {
    
            //创建Scanner引用类型的变量
            Scanner sc = new Scanner(System.in);
    
            //获取数字
    
            System.out.println("请输入一个数字");
            int n = sc.nextInt();
            System.out.println("n的值为" + n);
    
            //获取字符串
            System.out.println("请输入一个字符串");
            String str = sc.next();
            System.out.println("str的值为" + str);
        }
    }

    运行结果如下图所示。

          

    2.随机数类Random

    我们来学习下,用来产生随机数的类Random,它也属于引用数据类型。

    这个Random类,它可以产生多种数据类型的随机数,在这里我们主要介绍生成整数与小数的方式。

     

    public int nextInt(int maxValue)    // 产生[0,maxValue)范围的随机整数,包含0,不包含maxValue;
    
    public double nextDouble()  //产生[0,1)范围的随机小数,包含0.0,不包含1.0。

     引用数据类型的使用方式,在学习键盘录入Scanner时,我们已经学习过,在这里,再次回顾一下:

    l  Random使用方式:

    n  import导包:所属包java.util.Random 

    n  创建实例格式:Random 变量名 = new Random();

     接下来,通过一段代码,一起学习下Random类的使用.

    RandomDemo.java

    import java.util.Random;
    public class RandomDemo { public static void main(String[] args) { // 创建Random类的实例 Random r = new Random(); // 得到0-100范围内的随机整数,将产生的随机整数赋值给i变量 int i = r.nextInt(100); //得到0.0-1.0范围内的随机小数,将产生的随机小数赋值给d变量 double d = r.nextDouble(); System.out.println(i); System.out.println(d); } }

     运行结果如下图所示:

         

    猜数字案例

    1.1     案例介绍

    我们在日常生活中,经常与朋友们玩猜数字的游戏,非常的有趣。现在我们通过java把这个猜数字游戏编写出来。

    猜数字案例是要完成什么样的功能呢?顾名思义,这个游戏就是你出个数字、我来猜。

    游戏操作如下:

    l  后台预先生成一个1-100之间的随机数,用户键盘录入猜数字

    l  如果猜对了,打印“恭喜您,答对了”

    l  如果猜错了:猜大了:打印“sorry,您猜大了!”        猜小了:打印“sorry,您猜小了!”

    直到数字猜到为止

    1.2     案例需求分析、

    l  1.通过Random类中方法nextInt(),生成一个1-100之间的随机数

    l  2.输入猜的数字

    l  3.通过while循环,进行猜数字对错判断

    n  猜对,跳出循环,游戏结束

    n  猜错了,根据结果,给出提示,接着猜数字,游戏继续

    u  如果猜大了,打印sorry,您猜大了!继续下一次循环

    u  如果猜小了,打印sorry,您猜小了!继续下一次循环

    1.3     实现代码步骤

    分析完毕之后,在main()方法中,我们一起来完成代码的编写:GuessNumber.java

    public class GuessNumber {
    
        public static void main(String[] args) {
    
            //1.通过Random类中方法nextInt(),生成一个1-100之间的随机数
            int randomNumber = new Random().nextInt(100);
            System.out.println("随机数已生成!");
    
            //2.输入猜的数字
            System.out.println("----请输入您猜的数字:----");
            Scanner sc = new Scanner(System.in);
            int enterNumber = sc.nextInt();
    
            //3.通过while循环,进行猜数字对错判断
            //猜对,跳出循环,游戏结束
            while(enterNumber != randomNumber){
                //猜错了,根据结果,给出提示,接着猜数字,游戏继续
                if(enterNumber>randomNumber) {
                    //如果猜大了,打印sorry,您猜大了!继续下一次循环
                    System.out.println("sorry,您猜大了!继续下一次循环");
                }else {
                    //如果猜小了,打印sorry,您猜小了!继续下一次循环
                    System.out.println("sorry,您猜小了!继续下一次循环");
                }
    
                //输入猜的数字
                System.out.println("----请输入您猜的数字:----");
                enterNumber = sc.nextInt();
            }
            System.out.println("恭喜您,答对了!");
        }
    }
  • 相关阅读:
    Spring----BeanPostProcessor
    spring lifeCycle
    lambda表达式
    mybatis ----SqlSessionManager
    带权随机
    Protocol Buffers学习笔记
    Java的Lambda表达式
    mysql之group_concat函数
    Java排序之归并排序
    Java排序之计数排序
  • 原文地址:https://www.cnblogs.com/Yimi/p/8729277.html
Copyright © 2020-2023  润新知