Scanner(文本扫描器)和Random(随机数生成器)的说明及使用,运用分支结构和循环结构编写猜数字游戏
前言:
学完了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,希望您阅读这篇文章,希望与您一起讨论
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!