于敏、王大珩(héng)、王希季、朱光亚、孙家栋、任新民、吴自良、陈芳允、陈能宽、杨嘉墀(chí)、周光召、钱学森、屠守锷、黄纬禄、程开甲、彭桓武,王淦(gàn)昌、邓稼先、赵九章、姚桐斌、钱骥、钱三强、郭永怀)。 设计实现一个代号对应名字的猜字系统,需要实现当猜测失败后,随机出提醒,提醒包括首字的笔画,总笔画,首字拼音字母等其中之一。请使用Java编写。

时间: 2023-09-14 15:06:15 浏览: 421
好的,我可以帮你设计实现这个猜字系统。以下是我提供的一个 Java 代码示例: ```java import java.util.HashMap; import java.util.Map; import java.util.Random; import java.util.Scanner; public class GuessNameSystem { private static final Map<String, String> codeToNameMap = new HashMap<>(); static { // 初始化代号和名字对应关系 codeToNameMap.put("YM", "于敏"); codeToNameMap.put("WDH", "王大珩"); codeToNameMap.put("WXJ", "王希季"); codeToNameMap.put("ZGY", "朱光亚"); codeToNameMap.put("SJD", "孙家栋"); codeToNameMap.put("RXM", "任新民"); codeToNameMap.put("WZL", "吴自良"); codeToNameMap.put("CFY", "陈芳允"); codeToNameMap.put("CNK", "陈能宽"); codeToNameMap.put("YJC", "杨嘉墀"); codeToNameMap.put("ZGZ", "周光召"); codeToNameMap.put("QXS", "钱学森"); codeToNameMap.put("TSE", "屠守锷"); codeToNameMap.put("HWL", "黄纬禄"); codeToNameMap.put("CKJ", "程开甲"); codeToNameMap.put("PHW", "彭桓武"); codeToNameMap.put("WGC", "王淦昌"); codeToNameMap.put("DJX", "邓稼先"); codeToNameMap.put("ZJZ", "赵九章"); codeToNameMap.put("YTB", "姚桐斌"); codeToNameMap.put("QJ", "钱骥"); codeToNameMap.put("QSQ", "钱三强"); codeToNameMap.put("GYH", "郭永怀"); } private static final String[] HINTS = { "首字笔画是5", "总笔画数是13", "首字拼音字母是Y", "总笔画数是16", "首字拼音字母是W", "首字笔画是8", "总笔画数是12", "首字拼音字母是C", "总笔画数是10", "总笔画数是12", "首字拼音字母是Z", "总笔画数是15", "首字拼音字母是Q", "首字笔画是10", "总笔画数是11", "首字拼音字母是P", "首字笔画是14", "首字拼音字母是D", "首字拼音字母是Z", "总笔画数是13", "总笔画数是11", "首字拼音字母是G" }; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String randomCode = getRandomCode(); String randomName = codeToNameMap.get(randomCode); System.out.println("猜测以下这个人的名字:"); System.out.println(randomCode); String guessCode = scanner.nextLine().toUpperCase(); while (!guessCode.equals(randomCode)) { System.out.println("猜错了,请再猜一次。"); System.out.println("以下是一个提示:"); System.out.println(HINTS[new Random().nextInt(HINTS.length)]); guessCode = scanner.nextLine().toUpperCase(); } System.out.println("恭喜你,猜对了!这个人的名字是:" + randomName); } private static String getRandomCode() { String[] codes = codeToNameMap.keySet().toArray(new String[0]); return codes[new Random().nextInt(codes.length)]; } } ``` 这个程序先将代号和名字的对应关系存储在 `codeToNameMap` 中,然后随机选择一个代号(使用 `getRandomCode` 方法),让用户猜测对应的名字。如果用户猜错了,程序会随机选择一个提示(使用 `HINTS` 数组),然后要求用户再次猜测。如果用户猜对了,程序会输出正确的名字。 注意,程序中的提示信息是预先写死的,如果你需要更多的提示信息,可以自行添加到 `HINTS` 数组中。

相关推荐

最新推荐

recommend-type

基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip

基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip
recommend-type

基于python实现树莓派和传感器的植物生长环境评估信息系统

【作品名称】:基于python实现树莓派和传感器的植物生长环境评估信息系统 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:基于python实现树莓派和传感器的植物生长环境评估信息系统
recommend-type

优质资源,Yearning Mysql SQL审核平台

Yearning Mysql SQL审核平台(使用go语言)
recommend-type

c语言课程设计-职工资源管理系统.rar

void displayMenu() { printf("\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"); printf("+ 职工资源管理系统 +\n"); printf("+ +\n"); printf("+ 1. 录入职工信息 +\n"); printf("+ 2. 显示全部职工信息 +\n"); printf("+ 3. 根据工号查询
recommend-type

华为OD机试D卷 - 来自异国的客人 - 免费看解析和代码.html

私信博主免费获取真题解析以及代码
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

用 Python 画一个可以动的爱心

好的,我可以帮助您使用Python来绘制一个动态的爱心。您可以使用turtle库来实现。以下是实现代码: ```python import turtle import math # 设置画布和画笔 canvas = turtle.Screen() canvas.bgcolor("black") pencil = turtle.Turtle() pencil.speed(0) pencil.color("red", "pink") pencil.pensize(3) # 定义爱心函数 def draw_love(heart_size, x_offset=0, y_offset=0):
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。