JAVA-猜数字游戏

以下是一个简单的Java猜数字游戏的代码。

import java.util.Random;  
import java.util.Scanner;  public class GuessNumberGame {  public static void main(String[] args) {  Random rand = new Random();  int secretNumber = rand.nextInt(100) + 1; // 生成1到100之间的随机数  Scanner scanner = new Scanner(System.in);  while (true) {  System.out.print("猜一个1到100之间的数字: ");  int guess = scanner.nextInt();  if (guess == secretNumber) {  System.out.println("恭喜你,猜对了!");  break;  } else if (guess < secretNumber) {  System.out.println("猜的数字太小了。");  } else {  System.out.println("猜的数字太大了。");  }  }  scanner.close();  }  
}

下面我会对上述代码进行详细解释。

引入库

import java.util.Random;  
import java.util.Scanner;

Random 类:用于生成随机数。
Scanner 类:用于从控制台读取用户输入。

主类与主方法

public class GuessNumberGame {  public static void main(String[] args) {  // ...  }  
}

public class GuessNumberGame:定义了一个公共类GuessNumberGame。
public static void main(String[] args):这是Java程序的入口点。

生成随机数

Random rand = new Random();  
int secretNumber = rand.nextInt(100) + 1; // 生成1到100之间的随机数

Random rand = new Random();:创建一个Random对象。
int secretNumber = rand.nextInt(100) + 1;:使用nextInt(100)生成一个0到99之间的随机整数,然后加1得到1到100之间的随机整数。

读取用户输入

Scanner scanner = new Scanner(System.in);

创建一个Scanner对象,用于从标准输入(通常是控制台)读取数据。

无限循环与猜数字逻辑

while (true) {  // ...  
}

使用一个无限循环(while (true))来重复猜数字的过程,直到用户猜对为止。

读取并检查用户猜测

System.out.print("猜一个1到100之间的数字: ");  
int guess = scanner.nextInt();

使用System.out.print输出提示信息。
使用scanner.nextInt()从控制台读取用户输入的整数。

判断猜测结果

if (guess == secretNumber) {  System.out.println("恭喜你,猜对了!");  break;  
} else if (guess < secretNumber) {  System.out.println("猜的数字太小了。");  
} else {  System.out.println("猜的数字太大了。");  
}

使用if-else 结构来判断用户的猜测结果。
如果猜对了,输出恭喜信息并使用break退出循环。
如果猜的数字小于秘密数字,输出“猜的数字太小了。”。
如果猜的数字大于秘密数字,输出“猜的数字太大了。”。

关闭Scanner对象

scanner.close();

关闭Scanner对象以释放与之关联的资源。在实际情况中,如果Scanner对象是在main方法中创建的,并且程序在main方法结束后就终止了,这一步可能不是必需的,但在大型程序中,良好的资源管理实践是始终关闭不再需要的资源。

完整流程

程序启动时,首先生成一个秘密数字。
然后进入无限循环,等待用户输入。
用户输入一个数字后,程序判断该数字与秘密数字的关系,并给出相应的提示。
如果用户猜对了,程序输出恭喜信息并退出循环。
程序结束时,关闭Scanner对象(尽管在这个简单的例子中可能是可选的)。

以上是我对我近期学习的一个总结,如果有不对的地方或者有什么建议的话,都可以提出来哦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/9024.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

功率半导体测试挑战及应对方案详解

功率半导体是电子产业链中最核心的一类器件&#xff0c; 能够实现电能转换和电路控制作用。功率半导体包括功率半导体分立器件(含模块)以及功率IC等。其中&#xff0c;功率半导体分立器件按照器件结构可分为二极管、晶闸管和晶体管等。 以MOSFET、IGBT以及SiC MOSFET为代表的功…

【教学类-53-01】20240509“去掉背景的png彩色图片”转“黑色影子图”

作品展示 背景需求&#xff1a; 刚写完蒙德里安涂色学具&#xff0c;准备开课&#xff0c;转眼班级就“百日咳“”隔离3周&#xff0c;o(╥﹏╥)o 我的AI对话大师只剩1个月的有效期&#xff0c;剩下9万6千次也马上就作废了。 最后一个月可以尽量多用掉一些&#xff0c;我从小…

SpringBoot 扩展篇:ConfigFileApplicationListener源码解析

SpringBoot 扩展篇&#xff1a;ConfigFileApplicationListener源码解析 1.概述2. ConfigFileApplicationListener定义3. ConfigFileApplicationListener回调链路3.1 SpringApplication#run3.2 SpringApplication#prepareEnvironment3.3 配置environment 4. 环境准备事件 Config…

leetcode 2320.统计放置房子的方式数

思路&#xff1a;dp 其实我们不难发现&#xff0c;如果我们按照单侧来说&#xff0c;并且让我们求最大价值的话&#xff0c;这就是一个打家劫舍的动态规划问题。 但是这里我们需要求方案数。所以这里我们的dp含义就变成了&#xff1a;在前i块地皮中放置房子的方案数。 首先就…

第十篇:数字堡垒:操作系统安全深度解析与实战指南

数字堡垒&#xff1a;操作系统安全深度解析与实战指南 1 *引言 1.1 数字世界的守护者 在遥远的比特海中&#xff0c;有一座名为“操作系统”的数字堡垒&#xff0c;它守护着我们的数据宝藏&#xff0c;确保每一次计算的航行都能安全抵达彼岸。然而&#xff0c;这片海域并非风…

2024年最新【SpringBoot2】开发实用篇-测试_springboot2 test(1),2024年最新2024春招BAT面试真题详解

既有适合小白学习的零基础资料&#xff0c;也有适合3年以上经验的小伙伴深入学习提升的进阶课程&#xff0c;涵盖了95%以上软件测试知识点&#xff0c;真正体系化&#xff01; 由于文件比较多&#xff0c;这里只是将部分目录截图出来&#xff0c;全套包含大厂面经、学习笔记、…

推荐一个好用的数据集处理脚本

前段时间在整理数据集&#xff0c;但是需要先处理一下数据集&#xff0c;批量的修改图片的名字&#xff0c;因此找了一下的代码&#xff0c;这非常好用&#xff0c;分享给大家。 注意事项&#xff1a;转换后&#xff0c;这脚本会把你之前文件夹的内容全删掉。 import osclass …

2024最新大厂C++面试真题合集,大厂面试百日冲刺 bay8

腾讯视频 C多态性如何体现&#xff1f;模版怎么实现的多态&#xff1f; C中的多态性主要通过两种方式体现&#xff1a;虚函数&#xff08;动态多态性&#xff09;和模板&#xff08;静态多态性&#xff09;。 虚函数实现的多态性&#xff1a;通过基类指针或者引用&#xff0…

YOLOv5,YOLOv7改进之结合​SOCA

1.SOCA moudle结构图 2,YOLOv5,YOLOv7改进之结合​SOCA 1.配置common.py文件 #SOCA moudle 单幅图像超分辨率 class Covpool(Function):@staticmethoddef forward(ctx, input):x = inputbatchSize = x.data.shape[0]dim = x.data.shape[1]h = x.data.shape[2]w = x.data.sha…

微信小程序开发秘籍:解锁地理位置服务与周边信息探索

微信小程序开发秘籍&#xff1a;解锁地理位置服务与周边信息探索 一、地理信息服务基础1.1 什么是地理信息服务&#xff1f;1.2 微信小程序中的GIS API简介 二、获取用户位置&#xff1a;wx.getLocation实战2.1 API介绍2.2 代码示例 三、周边信息获取&#xff1a;利用腾讯位置服…

docker Harbor私有仓库部署管理

搭建本地私有仓库&#xff0c;但是本地私有仓库的管理和使用比较麻烦&#xff0c;这个原生的私有仓库并不好用&#xff0c;所以我们采用harbor私有仓库&#xff0c;也叫私服&#xff0c;更加人性化。 一、什么是Harbor Harbor是VWware 公司开源的企业级Docker Registry项…

android TV app适配遥控器思路,recycleview选中放大

背景&#xff1a; 1、当遥控器遥控盒子&#xff0c;app内是有一套机制&#xff0c;响应遥控器的操作; 2、要实现遥控器选中的效果&#xff0c;必须要设置setOnFocusChangeListener方法&#xff0c;另外一个就是设置view的setOnClickListener方法&#xff1b;设置完之后&#…

安卓开发--按键跳转页面,按键按下变色

前面已经介绍了一个空白按键工程的建立以及响应方式&#xff0c;可以参考这里&#xff1a;安卓开发–新建工程&#xff0c;新建虚拟手机&#xff0c;按键事件响应。 安卓开发是页面跳转是基础&#xff01;&#xff01;&#xff01;所以本篇博客介绍利用按键实现页面跳转&#…

C语言自定义数据类型

一.结构体 1.结构体 I.基本格式 struct tag {member-list; }variable-list; II.结构体声明 struct PERSON // 结构体声明 {int age; // 声明成员类型long ss;float weight;char name[25]; } family_member; // 定义结构体变量fa…

day1_slidingWindow

一、滑动窗口模板 // 注意&#xff1a;java 代码由 chatGPT&#x1f916; 根据我的 cpp 代码翻译&#xff0c;旨在帮助不同背景的读者理解算法逻辑。 // 本代码不保证正确性&#xff0c;仅供参考。如有疑惑&#xff0c;可以参照我写的 cpp 代码对比查看。import java.util.Has…

Robots协议的一点知识

Robots协议&#xff0c;通常指的是robots.txt协议&#xff0c;是一种网站管理员用来告诉搜索引擎蜘蛛&#xff08;也称为爬虫或机器人&#xff09;哪些页面可以被抓取&#xff0c;哪些不可以的文本文件。这个协议也被称为排除标准&#xff08;Robots Exclusion Protocol&#x…

linux环境下安装《车辆动态监控系统》支持JT808、JT1078、苏标主动安全设备接入

《车辆动态监控系统》安装包下载地址 开放端口 80/443/8800&#xff0c;web后台端口&#xff0c;nginx代理服务&#xff0c;nginx默认为8800端口8808&#xff0c;JT808专用端口6802&#xff0c;视频播放推流端口6891-6898&#xff0c;FTP端口6821&#xff0c;苏标主动安全附件…

【算法】滑动窗口——水果成篮

本篇博客是我对“水果成篮”这道题由暴力解法到滑动窗口思路的具体思路&#xff0c;有需要借鉴即可。 目录 1.题目2.暴力求解3.暴力优化3.1每次right不用回退3.2有些left长度一定不如前一个&#xff0c;不用走&#xff0c;left不回退 4.滑动窗口算法5.总结 1.题目 题目链接&am…

SpringBoot+vue实现右侧登录昵称展示

目录 1. 定义User数据 1.1.在created方法获取数据 1.2.头部导航栏绑定User数据 1.3.在data中定义User数据 2. 获取数据 2.1.接收父组件传递的值 2.2.展示数据 3. 页面效果 在SpringBoot和 Vue.js 结合的项目中实现右侧登录昵称展示&#xff0c;通常涉及到前端的用户界面…

淘宝/天猫按关键字搜索淘宝商品 API接口

淘宝/天猫按关键字搜索淘宝商品的API接口&#xff0c;确实为开发者提供了便捷的商品搜索功能。至于超好用的工具&#xff0c;我可以为你推荐一些常用的API接口调用工具或者相关服务&#xff0c;这些工具或服务可以帮助你更高效地使用API接口。 首先&#xff0c;对于淘宝/天猫的…