java随机数用scanner_Java中的引用类型Scanner类和随机类型Random

Scanner类

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

引用数据类型的使用

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

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

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

变量名.方法名();

Scanner类

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

Scanner使用步骤:

//导包:

importjava.util.Scanner;//创建对象实例:

Scanner sc = newScanner(System.in);//调用方法

int i = sc.nextInt(); //用来接收控制台录入的数字

String s = sc.next(); //用来接收控制台录入的字符串

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

ScannerDemo01.java

importjava.util.Scanner;public classScannerDemo01 {public static voidmain(String[] args) {//创建Scanner引用类型的变量Scanner sc= newScanner(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);

}

}

运行结果如下图所示。

f7aa7f470ed8162f9a83b62079a922ae.png

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

importjava.util.Random;public classRandomDemo {public static voidmain(String[] args) {//创建Random类的实例Random r= newRandom();//得到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);

}

}

运行结果如下图所示:

1b8e0d55020a85fea334d87ef0443b7b.png

猜数字案例

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 classGuessNumber {public static voidmain(String[] args) {//1.通过Random类中方法nextInt(),生成一个1-100之间的随机数

int randomNumber = new Random().nextInt(100);

System.out.println("随机数已生成!");//2.输入猜的数字

System.out.println("----请输入您猜的数字:----");

Scanner sc= newScanner(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("恭喜您,答对了!");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值