IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java100天编程指南---第8天:猜数字小游戏 -> 正文阅读

[Java知识库]Java100天编程指南---第8天:猜数字小游戏


目录

一、前言

二、Random类

1.导包

2.创建对象

3.生成随机数

4.更改范围

5.演示

三、猜数字

1.需求

2.生成随机数范围

3.不限次数

4.规定次数


一、前言

  • 学习概述:Java编程指南第6天、第7天我们学习了分支循环结构,今天我们利用前面学过的知识点,加上一个Random类,动手完成一个猜数字案例。
  • 学习目标:利用Random类实现猜数字游戏

二、Random类

  • 作用:获取生成一个随机数

1.导包

//导包的动作必须出现在类的定义上面
import java.util.Random;

2.创建对象

//r是变量名,可以改变,其他的固定格式
Random r=new Random();

3.生成随机数

//获取数据的范围[0,10),包含0,不包含10。扩大范围可以直接更改数字
int number=r.nextInt(10);

4.更改范围

  • 上面生成随机数的范围是[0~10),如果我们要生成数据范围是[66,88]如何实现?
  • 可以转换成:66 - 88 => [0 - 23) + 66
//数据范围
int number=r.nextInt(23)+66;

5.演示

  • 下面简单的通过Random随机输出10个数字,看看是否随机?

编码实现:??

import java.util.Random;//导包
public class Demo 
{
	public static void main(String[] args) 
	{
		Random r=new Random();//创建对象
		int number;
		for(int i=0;i<10;i++)
		{
			number=r.nextInt(10);//获取随机数
			System.out.println(number);
		}
	}
}

输出结果

3 8 5 5 3 8 9 9 8 4 
  • 证明每一次的随机数字都会变化,变化的范围属于0~9之间,不包含10

三、猜数字

1.需求

  • 随机生成一个1-100之间的数据,使用程序实现这个数字是多少?
    • 猜的数字大于真实数字,提示猜的数据过大
    • 猜的数字小于真实数字,提示猜的数据过小
    • 猜的数字与真实的数字相等,提示恭喜猜中,结束循环

2.生成随机数范围

  • 1-100就等价于:[0,100)+1
int number=r.nextInt(100)+1;

3.不限次数

  • 这里猜数字的次数我们先设置成不限制猜测的次数,无论多少次,只要正确就行。

执行步骤:

  • 我们先让随机数生成一个1-100之间的数字,我们进入猜数字循环。
  • 输入一个数字,进入三个if的条件判断语句之中,这里我们使用的if结构是我们之前讲解过的第三种

编码实现

import java.util.Random;//导包随机数
import java.util.Scanner;//输入数据

public class Demo 
{
	public static void main(String[] args) 
	{

		Random r=new Random();//创建对象
		Scanner sc=new Scanner(System.in);
		int number,guessnumber;
		number=r.nextInt(100)+1;//产生1-100的随机数字
		while(true)
		{
			System.out.println("请输入你要猜测的数字");
			guessnumber=sc.nextInt();//输入数据
			if(guessnumber>number)
			{
				System.out.println("你猜的数字"+guessnumber+"大了!");
			}
			else if(guessnumber<number)
			{
				System.out.println("你猜的数字"+guessnumber+"小了!");
			}
			else
			{
				System.out.println("恭喜你猜对了!,最终结果为"+number);
				break;//退出循环
			}
		}
	}
}

输出结果

请输入你要猜测的数字
50
你猜的数字50大了!
请输入你要猜测的数字
25
你猜的数字25大了!
请输入你要猜测的数字
12
你猜的数字12大了!
请输入你要猜测的数字
6
你猜的数字6大了!
请输入你要猜测的数字
3
你猜的数字3小了!
请输入你要猜测的数字
4
你猜的数字4小了!
请输入你要猜测的数字
5
恭喜你猜对了!,最终结果为5

4.规定次数

  • 上面我们实现的猜数字小游戏,是没有限定你猜测的次数的,这次我们来改进一下。只需要定义一个变量,每次猜错的时候-1,如果为0还没有才对,也会直接退出。

编码实现

import java.util.Random;//导包随机数
import java.util.Scanner;//输入数据

public class Demo 
{
	public static void main(String[] args) 
	{
		Random r=new Random();//创建对象
		Scanner sc=new Scanner(System.in);
		int number,guessnumber,n=5;
		number=r.nextInt(100)+1;//产生1-100的随机数字
		while(true)
		{
			if(n==0)//次数上限
			{
				System.out.println("次数达到上限,即将退出!");
				System.out.println("最终的结果为"+number);
				break;
			}
			System.out.println("请输入你要猜测的数字");
			guessnumber=sc.nextInt();//输入数据
			if(guessnumber>number)
			{
				n--;
				System.out.print("你猜的数字"+guessnumber+"大了!");
				System.out.println("还剩下"+n+"次的机会");
			}
			else if(guessnumber<number)
			{
				n--;
				System.out.print("你猜的数字"+guessnumber+"小了!");
				System.out.println("还剩下"+n+"次的机会");
			}
			else
			{
				System.out.println("恭喜你猜对了!,最终结果为"+number);
				System.out.println("还剩下"+n+"次的机会未使用");
				break;//退出循环
			}
		}	
	}
}

输出结果

请输入你要猜测的数字
50
你猜的数字50大了!还剩下4次的机会
请输入你要猜测的数字
25
你猜的数字25大了!还剩下3次的机会
请输入你要猜测的数字
12
你猜的数字12大了!还剩下2次的机会
请输入你要猜测的数字
6
你猜的数字6大了!还剩下1次的机会
请输入你要猜测的数字
3
你猜的数字3大了!还剩下0次的机会
次数达到上限,即将退出!
最终的结果为1

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-05-06 10:55:43  更:2022-05-06 10:55:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:49:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码