【Java编程指南】猜数字小游戏,数据库优化的几种方法面试

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:xhs1999xhs (备注Java)
img

正文


目录

一、前言

二、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

最后

小编利用空余时间整理了一份《MySQL性能调优手册》,初衷也很简单,就是希望能够帮助到大家,减轻大家的负担和节省时间。

关于这个,给大家看一份学习大纲(PDF)文件,每一个分支里面会有详细的介绍。

image

这里都是以图片形式展示介绍,如要下载原文件以及更多的性能调优笔记(MySQL+Tomcat+JVM)!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:xhs1999xhs (备注Java)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
助到大家,减轻大家的负担和节省时间。

关于这个,给大家看一份学习大纲(PDF)文件,每一个分支里面会有详细的介绍。

[外链图片转存中…(img-lNXMnI73-1713615692071)]

这里都是以图片形式展示介绍,如要下载原文件以及更多的性能调优笔记(MySQL+Tomcat+JVM)!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:xhs1999xhs (备注Java)
[外链图片转存中…(img-7XPoRVoR-1713615692071)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值