scau:面向对象java实验作业1-2 猜数字游戏

news/2024/10/11 5:26:09/
题目名称实验1-2 猜数字游戏
题目关键字数据类型 基本输入输出 控制语句 方法
题目录入时间2022/10/10 11:01:37
题目内容

使用Java程序,项目名称:GuessNumberGame,类根据自己需要定义。

程序开始运行后,允许玩家进行多次猜数字的游戏。

每次猜数字的过程如下:

1. 程序随机产生一个0-9之间的整数。

2. 要求玩家从键盘输入自己猜的数字。

3. 程序检查玩家输入的数字,并根据检查结果进行如下提示:

l  如果用户猜对了,则提示:恭喜你,猜对了。

l  如果用户猜错了,则提示:你猜的数字太(大或小)了。

4. 一次游戏结束条件有2种情况:

l  玩家连续3次没有猜对给定数字,则提示:游戏失败。

l  玩家在3次机会之内猜对了给定的数字,则提示:游戏成功。

5. 每次游戏结束时,询问用户是否继续新的游戏。

l  如果用户选择继续,则开始新一次游戏;

l  否则输出:你共进行了XXX次游戏,成功XXX次,失败XXX次。然后结束程序运行。

下面是一个运行示例:

提交要求:包含源程序文件的JAR。

java">package practice;
import java.util.Scanner;
import java.util.Random;public class Cai_shuzi {private static int time = 0;private static int correctGuesses = 0;private static int wrongGuesses = 0;private static Scanner scanner = new Scanner(System.in);  // 移出循环外public static void main(String[] args) {startGame();}// 启动游戏public static void startGame() {while (true) {time++;System.out.println("第" + time + "次游戏,程序生成了一个[0,9]之间的数字.");playRound(3);System.out.print("你还要继续游戏吗?(Y继续/N退出):");char in = scanner.next().charAt(0);if (in != 'Y' && in != 'y') {endGame();break;}}}// 进行单轮游戏public static void playRound(int chances) {Random random = new Random();int answer = random.nextInt(10);boolean guessedCorrectly = false;while (chances > 0) {System.out.print("你还有" + chances + "次机会,输入你猜的数字:");int input = scanner.nextInt();if (input == answer) {System.out.println("恭喜你,猜对了!");guessedCorrectly = true;correctGuesses++;break;} else if (input < answer) {System.out.println("你猜的数字太小了!");} else {System.out.println("你猜的数字太大了!");}chances--;}if (!guessedCorrectly) {wrongGuesses++;System.out.println("本次游戏失败!正确数字是:" + answer);}}// 游戏结束时的统计public static void endGame() {System.out.println("你共进行了" + time + "次游戏,成功 " + correctGuesses + " 次,失败 " + wrongGuesses + " 次.");scanner.close();  // 结束时再关闭 Scanner}
}


http://www.ppmy.cn/news/1537283.html

相关文章

Effective C++笔记之二十四:stack overflow

溢出&#xff08;Stack Overflow&#xff09;是指程序运行过程中&#xff0c;栈空间被耗尽&#xff0c;导致无法继续分配栈内存的错误。C程序中&#xff0c;栈用于存储函数调用的局部变量、返回地址、函数参数等。当栈空间耗尽时&#xff0c;会引发栈溢出&#xff0c;通常导致程…

python 实现dijkstra迪杰斯特拉算法

dijkstra迪杰斯特拉算法介绍 Dijkstra&#xff08;迪杰斯特拉&#xff09;算法是由荷兰计算机科学家狄克斯特拉于1959年提出的&#xff0c;它是一种用于计算图中一个节点到其他所有节点的最短路径的算法。该算法主要用于解决有权图&#xff08;即图中的边有权值&#xff09;中…

JVM有哪些参数以及如何使用

JVM&#xff08;Java虚拟机&#xff09;参数用于调整和优化Java应用程序的性能和行为。这些参数主要分为标准参数、非标准参数&#xff08;以-X开头&#xff09;和高级参数&#xff08;以-XX开头&#xff09;。以下是一些常见的JVM参数及其使用方法&#xff1a; 标准参数 -se…

基于单片机的山林远程环境监测仪设计

本设计基于单片机的智能化的远程山林环境检测仪&#xff0c;该检测仪由硬件系统和软件系统构成。电源管理模块给整个硬件系统提供工作所需电源&#xff0c;系统可完成山林环境有关的温度、湿度、火焰和海拔高度的采集&#xff0c;并且可通过与按键设置阈值作对比判断危险情况&a…

数学基础 -- 微积分之链式求导法则

链式求导法则 链式求导法则&#xff08;Chain Rule&#xff09;是微积分中非常重要的法则&#xff0c;用于计算复合函数的导数。其基本思想是&#xff1a;如果一个变量依赖于另一个变量&#xff0c;而这个中间变量又依赖于另一个变量&#xff0c;那么可以通过链式法则把这些依…

第 17 场小白入门赛蓝桥杯

第 17 场小白入门赛 2 北伐军费 发现每次选大的更优&#xff0c;所以可以排序之后&#xff0c;先手取右边&#xff0c;后手取左边。 实际发现&#xff0c;对于 A − B A-B A−B 的结果来说&#xff0c;后手对于这个式子的贡献是 − − a i --a_i −−ai​ &#xff0c;也就…

使用 Go 和 Gin 框架构建简单的用户和物品管理 Web 服务

使用 Go 和 Gin 框架构建简单的用户和物品管理 Web 服务 在本项目中&#xff0c;我们使用 Go 语言和 Gin 框架构建了一个简单的 Web 服务&#xff0c;能够管理用户和物品的信息。该服务实现了两个主要接口&#xff1a;根据用户 ID 获取用户名称&#xff0c;以及根据物品 ID 获…

多jdk版本环境下,jenkins系统设置需指定JAVA_HOME环境变量

一、背景 由于不同项目对jdk版本的要求不同&#xff0c;有些是要求jdk11&#xff0c;有些只需要jdk8即可。 而linux机器上安装jdk的方式又多种多样&#xff0c;最后导致jenkins打包到底使用的是哪个jdk&#xff0c;比较混乱。 1、java在哪 > whereis java java: /usr/bin/…