Java——猜数字游戏

article/2025/10/6 8:27:50

目录

🍑前置知识

🍑题目要求 

🍑代码实现 

🍑测试 


🍑前置知识

既然是猜数字那么就要生成一个随机数

在Java中要生成一个指定范围之内的随机数字有两种方法:一种是调用 Math 类的 random() 方法,一种是使用 Random 类。

 📝Random 类提供了丰富的随机数生成方法,可以产生 boolean、int、long、float、byte 数组以及 double 类型的随机数,这是它与 random() 方法最大的不同之处。random() 方法只能产生 double 类型的 0~1 的随机数。

Random 类位于 java.util 包中,该类常用的有如下两个构造方法。

  • Random():该构造方法使用一个和当前系统时间对应的数字作为种子数,然后使用这个种子数构造 Random 对象。
  • Random(long seed):使用单个 long 类型的参数创建一个新的随机数生成器。

比如要随机生成一个整数的方法就是:

int nextlnt()生成一个随机的 int 值,该值介于 int 的区间,也就是 -231~231-1。如果
需要生成指定区间的 int 值,则需要进行一定的数学变换
int nextlnt(int n)生成一个随机的 int 值,该值介于 [0,n),包含 0 而不包含 n。如果想生成
指定区间的 int 值,也需要进行一定的数学变换

import java.util.Random;public class Main {public static void main(String[] args) {Random r = new Random(); // 实例化一个Random类int num = r.nextInt(101); // 用Random类中的nextInt(int n)方法生成一个【0,n)的随机数System.out.println(num);}
}

🍑题目要求 

📝猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。

📝程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。

🍑代码实现 

import java.util.Random;
import java.util.Scanner;public class Main {public static void main(String[] args) {Random r = new Random(); // 实例化一个Random类int num = r.nextInt(101); // 用Random类中的nextInt(int n)方法生成一个【0,n)的随机数Scanner in = new Scanner(System.in);System.out.println("请输入最多能猜几次:");int max = in.nextInt();  // max代表用户最多能猜多少次System.out.println("随机数已经产生,猜猜看,你一共有" + max + "次猜的机会!");int flag = 0; // 如果在5次内猜对了就把flag置为1,作为标志for (int i = 1; i <= max; i++) {System.out.println("请输入你第" + i + "次猜的结果:");int n = in.nextInt(); // 输入自己本次所猜的数if (n < 0) {System.out.println("Game Over"); // 在到达return;}if (n > num) {System.out.println("Too big");  // 猜大了}else if (n < num) {System.out.println("Too small"); // 猜小了}else { // 此时说明猜对了flag = 1;if (i <= 1) System.out.println("Bingo!");else if (i <= 3) System.out.println("Lucky You!");else System.out.println("Good Guess!");break; // 如果猜中了,即使没有到最多可以猜的次数,也需要退出}}if (flag == 0) System.out.println("Game Over");}
}

🍑测试 

 

 


http://chatgpt.dhexx.cn/article/uoZLOXuH.shtml

相关文章

Java简单实现猜拳游戏

前言 Random类的简单使用 .nextInt()方法&#xff0c;返回伪随机的&#xff0c;均匀分布 int值介于0&#xff08;含&#xff09;和指定值&#xff08;不包括&#xff09;&#xff0c;从该随机数生成器的序列绘制。 public class Demo_02 {//出拳游戏:1表示石头,2表示剪刀,3表…

java实现猜拳游戏

剪刀、石头、布又称“猜丁壳”&#xff0c;古老而简单&#xff0c;这个游戏的主要目的是为了解决争议&#xff0c;因为三者相互制约&#xff0c;因此不论平局几次&#xff0c;总会有胜负的时候。 游戏规则中&#xff0c;石头克剪刀&#xff0c;剪刀克布&#xff0c;布克石头。…

Java游戏编程前篇 修改eclipse背景颜色

最近准备开始研究java游戏设计了。&#xff08;不是安卓的游戏设计&#xff0c;关于安卓的游戏设计&#xff0c;我打算学完java之后直接学cocos2dx&#xff0c;学习java的原因是因为在公司里接触到了eclipse&#xff0c;所以打算顺便将java也啃下来&#xff0c;以后说不定哪天就…

java游戏开发入门(一) - HelloWorld

java游戏开发入门&#xff08;一&#xff09;- HelloWorld 前言开发环境启程 Hello WorldMaven启动类 HelloWorldApp创建一个600 x 600&#xff0c;标题为"Hello world"的窗体main运行效果完整代码 完整项目 前言 开发一款游戏&#xff0c;我相信很多人在学习开发之前…

JAVA编程实现猜数游戏

1.该程序就是随机生成一个1-100的整数让玩家进行游戏&#xff0c;不限次数&#xff0c;直到玩家猜对为止。 2.使用while循环语句实现功能 3.代码展示 import java.util.Random; import java.util.Scanner;public class S11 {public static void main(String[] args) {Random…

Java游戏框架编写

自己抽空编写的一个2D游戏框架(也可以说是工具类集吧)&#xff0c;在此记录一下&#xff0c;开发完了顺便写了一个案例判断框架的可用性 项目地址&#xff1a;https://gitee.com/shaokang123/spring-game-starter 框架特点 支持直接使用Tiled设计地图&#xff0c;以name为beanN…

Java游戏编程——愤怒的小鸟(一)

Java游戏编程——愤怒的小鸟&#xff08;一&#xff09; 前言&#xff1a;最近在b站up主尚学堂杨老师&#xff08;b站链接&#xff09;学习了我做的第一个游戏项目&#xff0c;所以在csdn进行总结&#xff0c;便于今后查看。 本部分主要是将游戏的背景绘制出来 先上一张效果…

java游戏开发(java游戏开发教程)

Java游戏开发绘图器是什么呢&#xff1f; 众所周知&#xff0c;Java GUI以paint进行绘图&#xff0c;以repaint进行图像刷新&#xff0c;而完成repaint及paint这一连贯过程中所用到绘图组件&#xff0c;我将其称为绘图器。就我个人的体会&#xff0c;绘图器的调用时机应始终处于…

Java编程实现三种等级的扫雷游戏(完整版)

大家好&#xff0c;我是陈橘又青&#xff0c;今天用Java编程实现图形化界面的扫雷游戏&#xff08;三种难度&#xff09;&#xff0c;以下是完整的开发思路以及代码&#xff0c;供各位讨论交流。 文章目录 一、效果展示初级难度中级难度高级难度测试界面 二、项目介绍项目背景功…

Java游戏编程初步

现在流行的游戏似乎都是用C或C来开发的。在java平台上几乎没有很大型及可玩的流行游戏。由于java是个新生语言&#xff0c;他的许多特性还有待大家的发掘,但是我们不能否认Java在游戏编程方面的强大性。本文将带领大家一步一步学习编写Java游戏。最终打造属于自己的Java游戏。 …

如何用java语言编写小游戏?(一)

学习java的过程中&#xff0c;如果想找一些小游戏项目来练手的话&#xff0c;我们需要学习哪些技术先呢&#xff1f;&#xff08;适用于java初学者&#xff09; 第一步&#xff1a;了解GUI编程—Swing基础 GUI&#xff08;Graphical User interface&#xff09;&#xff1a; …

SQL编程篇

SQL编程篇 这是以前的学习总结&#xff1a; 这一周将SQL编程篇仔细地看了一遍&#xff0c;有不少感触&#xff0c;因为SQL Server 中的T-SQL语言&#xff0c;在某种程度上就类似C等编程语言&#xff0c;其中有基本运算、控制语句及函数还有一个叫存储过程的东东。但目前对他们在…

SQL语言

创建数据库 创建table&#xff0c;create table后可以"库名.表名"或者"库名.用户.表名"&#xff0c;也可以用上面工具选择&#xff0c;如果名字中含有特殊关键字&#xff0c;mysql需要交,sql server需要加[] 创建表 CREATE TABLE Student (S# CHAR ( 8 …

mysql -sql编程

基础语句 # 创建库 create database dome; # 切换到数据库 use dome; # 创建表 create table z (a int unsigned); # 查看表show create table z; # 查看表结构 desc z; # 插入数据 insert into z value(1);# 修改表字段类型 alter table zz change column a a int auto_incre…

pl/SQL编程基础

一、PL/SQL编程基础 1、pl/sql的组成&#xff1a;声明块、执行块、异常处理块 2、编制代码实现12...100的计算 3、编写求u12...100的结果并显示的存储过程 4、编写求12...n的带参数的存储过程 三、函数编程 1、函数的概念 function函数,存储在数据库中的带返回值的命名pl/s…

PL-SQL编程

PL/SQL介绍&#xff1a; PL/SQL是ORACLE对标准数据库语言的扩展 PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言 PL/SQL 是对 SQL 的扩展 支持多种数据类型&#xff0c;如大对象和集合类型&#xff0c;可使用条件和循环等控制结构 可用于创…

SQL编程学习01

在正式开始学习前&#xff0c;我发现之前安装的MySQL忘记了root密码。 所以在这里补充一下找回root密码的方法&#xff1a;MySQL找回root密码 一、问题与解决&#xff1a; 1、在创建表的时候出现了「1046&#xff08;ErrorCode&#xff1a;1046.No database select…&#x…

SQL编程和高级查询

一、使用SQL操作表 1、SQL语言简介 2、数据库操纵语言 &#xff08;1&#xff09;INSERT命令 INSERT INTO grade VALUES (5,五年级);--插入每一列 INSERT INTO grade VALUES (6,六年级); INSERT INTO grade VALUES (7,七年级); INSERT INTO student(stuNo,stuName,sex) VAL…

数据库系统SQL编程-02

目录 一、查询平均分高于60分的课程&#xff08;MSSQL&#xff09; 表结构: 表样例 输出样例: 编译程序: 二、查询成绩最高的前三名同学(MSSQL) 表结构: 表样例 输出样例: 编译程序: 三、查询所授每门课程平均成绩均在70分以上的教师(MSSQL) 表结构: 表样例 …

嵌入式SQL编程快速上手教程

嵌入式SQL编程快速上手教程 声明&#xff1a;我这里标题虽是《嵌入式SQL编程快速上手教程》&#xff0c;但只是嵌入式SQL编程的冰山一角罢了&#xff0c;我会通过举一道简单例题来教小白快速上手嵌入式SQL编程 第一&#xff1a;题目描述 其模式描述分别是&#xff1a; S (s…