中秋猜谜语-一个简单的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;
    }
}
  • 圆圆的,亮亮的,中秋节必备品,是什么?(答案:月亮)
  • 白白的,甜甜的,中秋节必吃的,是什么?(答案:月饼)
  • 圆圆的,红红的,中秋节必玩的,是什么?(答案:灯笼)
  • 中秋节必备,团圆的象征,十五的月亮圆圆亮,猜猜是什么?(答案:月亮)
  • 中秋节必吃,圆圆的,甜甜的,寓意团圆,猜猜是什么?(答案:月饼)
  • 中秋节必玩,圆圆的,红红的,寓意团圆,猜猜是什么?(答案:灯笼)
相关推荐
代码or搬砖5 分钟前
SpringMVC的执行流程
java·spring boot·后端
Appreciate(欣赏)28 分钟前
JAVA使用poi类读取xlxs文件内容拼接成添加数据SQL
java·开发语言·sql
极光代码工作室1 小时前
基于SpringBoot的流浪狗管理系统的设计与实现
java·spring boot·后端
毕设源码-朱学姐1 小时前
【开题答辩全过程】以 基于JAVA的恒星酒店客房管理系统为例,包含答辩的问题和答案
java·开发语言
思密吗喽1 小时前
景区行李寄存管理系统
java·开发语言·spring boot·毕业设计·课程设计
gladiator+1 小时前
Redis之BigKey的常见问题以及大厂相关面试题
java·数据库·redis
Controller-Inversion2 小时前
岛屿问题(dfs典型问题求解)
java·算法·深度优先
okseekw2 小时前
Java 字符串三巨头:String、StringBuilder、StringJoiner —— 初学者避坑指南 🤯
java
毕设源码余学姐2 小时前
计算机毕设 java 中医药药材分类采购网站 SSM 框架药材交易平台 Java 开发的分类采购与订单管理系统
java·开发语言·课程设计
BD_Marathon2 小时前
【JUC】并发与并行
java