中秋猜谜语-一个简单的java猜谜语游戏

中秋猜谜语是中秋节的一种传统习俗,它是由古代的谜语发展而来的,起源于春秋战国时期。它是一种富有讥谏、规戒、诙谐、笑谑的文艺游戏。谜语悬之于灯,供人猜射,开始于南宋。《武林旧事·灯品》记载:"以绢灯剪写诗词,时寓讥笑,及画人物,藏头隐语,及旧京诨语,戏弄行人。"

中秋猜谜语不仅能增加节日的欢乐气氛,也能启迪智慧,增长知识,培养创造力和想象力。中秋猜谜语的内容涉及历史、地理、文学、艺术、科学等各个领域,有助于提高人们的文化素养和审美能力。中秋猜谜语的形式也十分多样,有文字谜、图形谜、声音谜等,有些还需要运用谐音、双关、倒叙等技巧来解答。中秋猜谜语的寓意是祈求团圆、和睦、幸福和平安。

java 复制代码
import java.util.Scanner;
import java.util.Random;


//主类
public class GuessLanternRiddles {
    public static void main(String[] args) {
        //创建一个谜语数组
        Riddle[] riddles = new Riddle[5];
        riddles[0] = new Riddle("中秋节必吃,圆圆的,甜甜的,寓意团圆,猜猜是什么?", "月饼", "它是一种饼");
        riddles[1] = new Riddle("圆圆的,亮亮的,中秋节必备品,是什么?", "月亮", "它是一个球");
        riddles[2] = new Riddle("圆圆的,红红的,中秋节必玩的,是什么?", "灯笼", "它能发光");
        riddles[3] = new Riddle("中秋节必玩,圆圆的,红红的,寓意团圆,猜猜是什么?", "灯笼", "它是一种灯");
        riddles[4] = new Riddle("中秋节必吃,圆圆的,甜甜的,寓意团圆,猜猜是什么?", "月饼", "它能吃");
  

        //创建一个随机数对象
        Random random = new Random();
        //生成一个随机数,范围是0到4
        int index = random.nextInt(5);
        //从数组中随机选择一个谜语对象
        Riddle r = riddles[index];

        //创建一个键盘输入对象
        Scanner sc = new Scanner(System.in);

        //循环猜测
        while (true) {
            //输出谜面,并提示用户输入答案或者选择提示
            System.out.println(r.getPuzzle());
            System.out.println("请输入您的答案,或者输入"提示"来获取提示:");

            //获取用户的输入
            String input = sc.nextLine();

            //判断输入是否合法,如果不合法则提示重新输入
            if (input == null || input.isEmpty()) {
                System.out.println("您的输入为空,请重新输入!");
                continue;
            }

            //如果用户输入的是答案,则判断答案是否正确,如果正确则输出恭喜信息并结束程序,如果错误则输出错误信息并继续循环
            if (!input.equals("提示")) {
                if (input.equalsIgnoreCase(r.getAnswer())) {
                    System.out.println("恭喜您,答对了!");
                    break;
                } else {
                    System.out.println("很遗憾,答错了!");
                    continue;
                }
            }

            //如果用户输入的是提示,则输出提示信息,并继续循环
            if (input.equals("提示")) {
                System.out.println("提示:" + r.getHint());
                continue;
            }
        }

        //关闭键盘输入对象
        sc.close();
    }
}

//定义谜语类
class Riddle {
    private String puzzle; //谜面
    private String answer; //谜底
    private String hint; //提示

    //构造方法
    public Riddle(String puzzle, String answer, String hint) {
        this.puzzle = puzzle;
        this.answer = answer;
        this.hint = hint;
    }

    //获取谜面
    public String getPuzzle() {
        return puzzle;
    }

    //获取谜底
    public String getAnswer() {
        return answer;
    }

    //获取提示
    public String getHint() {
        return hint;
    }
}
  • 圆圆的,亮亮的,中秋节必备品,是什么?(答案:月亮)
  • 白白的,甜甜的,中秋节必吃的,是什么?(答案:月饼)
  • 圆圆的,红红的,中秋节必玩的,是什么?(答案:灯笼)
  • 中秋节必备,团圆的象征,十五的月亮圆圆亮,猜猜是什么?(答案:月亮)
  • 中秋节必吃,圆圆的,甜甜的,寓意团圆,猜猜是什么?(答案:月饼)
  • 中秋节必玩,圆圆的,红红的,寓意团圆,猜猜是什么?(答案:灯笼)
相关推荐
酉鬼女又兒5 分钟前
JavaLeetCode 第一题「两数之和」:从暴力枚举到一遍哈希表的正确与错误实现,详解HashMap核心知识点及常见陷阱
java·开发语言·数据结构·算法·leetcode·职场和发展·散列表
JackSparrow4146 分钟前
彻底理解Java NIO(一)C语言实现 单进程+多进程+多线程 阻塞式I/O 服务器详解
java·linux·c语言·网络·后端·tcp/ip·nio
小江的记录本8 分钟前
【微服务与云原生架构】Serverless架构、FaaS/BaaS、核心原理、优缺点
java·后端·微服务·云原生·架构·系统架构·serverless
谢谢 啊sir10 分钟前
L2-060 大语言模型的推理 - java
java·人工智能·语言模型
下地种菜小叶16 分钟前
特征定义、特征计算、特征服务怎么配合?一次讲透
java·服务器·前端·数据库·spring cloud
lifewange23 分钟前
Idea如何调大字体
java·macos·intellij-idea
许彰午27 分钟前
# 一个Java老鸟的TensorFlow入门——从计算图到GradientTape
java·tensorflow·neo4j
itzixiao28 分钟前
L1-055 谁是赢家(10 分)[java][python]
java·python·算法
IT利刃出鞘28 分钟前
Java反射--PropertyDescriptor的使用
java·开发语言
所愿ღ41 分钟前
SSM框架-Spring1
java·开发语言·笔记·spring