中秋猜谜语-一个简单的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;
    }
}
  • 圆圆的,亮亮的,中秋节必备品,是什么?(答案:月亮)
  • 白白的,甜甜的,中秋节必吃的,是什么?(答案:月饼)
  • 圆圆的,红红的,中秋节必玩的,是什么?(答案:灯笼)
  • 中秋节必备,团圆的象征,十五的月亮圆圆亮,猜猜是什么?(答案:月亮)
  • 中秋节必吃,圆圆的,甜甜的,寓意团圆,猜猜是什么?(答案:月饼)
  • 中秋节必玩,圆圆的,红红的,寓意团圆,猜猜是什么?(答案:灯笼)
相关推荐
元亓亓亓3 小时前
Leet热题100--208. 实现 Trie (前缀树)--中等
java·开发语言
拿破轮3 小时前
不小心在idea中点了add 到版本控制 怎么样恢复?
java·ide·intellij-idea
cynicme8 小时前
力扣3318——计算子数组的 x-sum I(偷懒版)
java·算法·leetcode
青云交9 小时前
Java 大视界 -- Java 大数据在智能教育学习效果评估与教学质量改进实战
java·实时分析·生成式 ai·个性化教学·智能教育·学习效果评估·教学质量改进
崎岖Qiu9 小时前
【设计模式笔记17】:单例模式1-模式分析
java·笔记·单例模式·设计模式
Lei活在当下10 小时前
【现代 Android APP 架构】09. 聊一聊依赖注入在 Android 开发中的应用
java·架构·android jetpack
不穿格子的程序员10 小时前
从零开始刷算法-栈-括号匹配
java·开发语言·
lkbhua莱克瓦2410 小时前
Java练习-正则表达式 1
java·笔记·正则表达式·github
yue00810 小时前
C#类继承
java·开发语言·c#
凯芸呢11 小时前
Java中的数组(续)
java·开发语言·数据结构·算法·青少年编程·排序算法·idea