数字竞猜游戏②,猜错继续,猜对结束【详解】

2023-10-11 11:40

本文主要是介绍数字竞猜游戏②,猜错继续,猜对结束【详解】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

猜数字游戏通常由两个人玩,一方出数字,一方猜(这里就由系统陪您玩啦)。出数字的人要想好一个随机数字,不能让猜的人知道,猜的人就可以开始猜了。
猜数字游戏通常设有猜测次数的上限,这里设置为 0~8

声明: 具体的实现方式有很多,这里仅供参考使用。

猜错继续,猜对结束,提供3次机会,机会用完后无论对错,终止游戏。

未优化版
import java.util.Random;
import java.util.Scanner;public class GuessNum1 {public static void main(String[] args) {//猜错继续,猜对结束System.out.println("请输入一个0~8之间的数:");//创建随机数对象Random random = new Random();//调用随机数对象的nextInt()方法 得到随机数int getRandom = random.nextInt(10);  //随机生成0~9之间的数字//创建扫描器Scanner in = new Scanner(System.in);for(int i = 1;i<=3;i++) {//调用扫描对象的nextInt()方法 得到从键盘输入的数据int getIn = in.nextInt(9);   //输入值为0~8之间,否则程序会报错System.out.println("你要猜的数 = "+getIn);if(i==1) {//游戏开始if(getIn > getRandom){System.out.println("猜大了哦!!!再来一次");}else if(getIn == getRandom) {System.out.println("恭喜你猜对啦!!!");break;}else {System.out.println("猜小了哦!!!再来一次");}System.out.println("你还有两次机会\n");	}else if(i==2) {//游戏开始if(getIn > getRandom){System.out.println("猜大了哦!!!再来一次");}else if(getIn == getRandom) {System.out.println("恭喜你猜对啦!!!");break;}else {System.out.println("猜小了哦!!!再来一次");}System.out.println("你还有一次机会\n");	}else {//游戏开始if(getIn > getRandom){System.out.println("猜大了哦!!!");}else if(getIn == getRandom) {System.out.println("恭喜你猜对啦!!!");break;}else {System.out.println("猜小了哦!!!");}System.out.println("你的机会已经用完了哦\n");}}}
}
执行结果

在这里插入图片描述

优化后
import java.util.Random;
import java.util.Scanner;public class GuessNum2 {public static void main(String[] args) {//猜错继续,猜对结束System.out.println("请输入一个0~9之间的数:");//创建随机数对象Random random = new Random();//调用随机数对象的nextInt()方法 得到随机数int getRandom = random.nextInt(10);  //随机生成0~9之间的数字//创建扫描器Scanner in = new Scanner(System.in);int a=0;  //记录次数while(a<3) {//调用扫描对象的nextInt()方法 得到从键盘输入的数据int getIn = in.nextInt(9);   //输入值为0~8之间,否则程序会报错System.out.println("你要猜的数 = "+getIn);//游戏开始 if(getIn == getRandom) {System.out.println("恭喜你猜对啦!!!");a++;break;}else if(getIn > getRandom){a++;System.out.println("猜大了哦!!!还有"+(3-a)+"次机会");}else {a++;System.out.println("猜小了哦!!!还有"+(3-a)+"次机会");}if(a<=2) {System.out.println("再来一次");}else {System.out.println("机会已花光");}}}
}
执行结果

在这里插入图片描述

:: 更多内容 ::

> 开发过程中踩坑经验记录

这篇关于数字竞猜游戏②,猜错继续,猜对结束【详解】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/187792

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

6.1.数据结构-c/c++堆详解下篇(堆排序,TopK问题)

上篇:6.1.数据结构-c/c++模拟实现堆上篇(向下,上调整算法,建堆,增删数据)-CSDN博客 本章重点 1.使用堆来完成堆排序 2.使用堆解决TopK问题 目录 一.堆排序 1.1 思路 1.2 代码 1.3 简单测试 二.TopK问题 2.1 思路(求最小): 2.2 C语言代码(手写堆) 2.3 C++代码(使用优先级队列 priority_queue)

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

国产游戏崛起:技术革新与文化自信的双重推动

近年来,国产游戏行业发展迅猛,技术水平和作品质量均得到了显著提升。特别是以《黑神话:悟空》为代表的一系列优秀作品,成功打破了过去中国游戏市场以手游和网游为主的局限,向全球玩家展示了中国在单机游戏领域的实力与潜力。随着中国开发者在画面渲染、物理引擎、AI 技术和服务器架构等方面取得了显著进展,国产游戏正逐步赢得国际市场的认可。然而,面对全球游戏行业的激烈竞争,国产游戏技术依然面临诸多挑战,未来的

嵌入式Openharmony系统构建与启动详解

大家好,今天主要给大家分享一下,如何构建Openharmony子系统以及系统的启动过程分解。 第一:OpenHarmony系统构建      首先熟悉一下,构建系统是一种自动化处理工具的集合,通过将源代码文件进行一系列处理,最终生成和用户可以使用的目标文件。这里的目标文件包括静态链接库文件、动态链接库文件、可执行文件、脚本文件、配置文件等。      我们在编写hellowor

LabVIEW FIFO详解

在LabVIEW的FPGA开发中,FIFO(先入先出队列)是常用的数据传输机制。通过配置FIFO的属性,工程师可以在FPGA和主机之间,或不同FPGA VIs之间进行高效的数据传输。根据具体需求,FIFO有多种类型与实现方式,包括目标范围内FIFO(Target-Scoped)、DMA FIFO以及点对点流(Peer-to-Peer)。 FIFO类型 **目标范围FIFO(Target-Sc

019、JOptionPane类的常用静态方法详解

目录 JOptionPane类的常用静态方法详解 1. showInputDialog()方法 1.1基本用法 1.2带有默认值的输入框 1.3带有选项的输入对话框 1.4自定义图标的输入对话框 2. showConfirmDialog()方法 2.1基本用法 2.2自定义按钮和图标 2.3带有自定义组件的确认对话框 3. showMessageDialog()方法 3.1