使用jsp实现成语接龙

  • 引子
  • 成语接龙条件
  • 设计和代码分析

引子

成语接龙条件

设计和代码分析

引子:
我们在学习生活中总会遇到成语接龙,那么如果让你编写程序他又该如何实现呢,让我们快一起进行研究总结,将学到的东西学以致用。

成语接龙条件:

1.必须为四字词语
2.如果是第一个成语则可以忽略,否则需要判断该字的第一个词和上个词的最后一个词是否匹配,实现接龙。
3.该篇文章中我创建了一个文件,存放成语里面只有500成语,可以做简单的开发测试,如果要精准则可以在网上下载全部成语将部分代码进行修改。

设计和代码分析
一共使用两个jsp页面,第一个进行显示和输入成语,另一个则进行判断和传递返回值。
第一个显示页面(idiom.jsp),直接上代码(有不懂的地方可以私信问我哦):

age contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>成语接龙</title>
</head>
<body>
<h1>欢迎来到成语接龙</h1>
<h2>当前的成语进度为:</h2><%String s= (String) session.getAttribute("msg");
if(s!=null){out.println(s);
}
else {out.println("暂时没有成语,请进行输入");
}
%>
<br>
<form action="IdiomInformtion.jsp" method="post">输入成语:<input type="text" name="idioms"><input type="submit" value="提交">
</form>
</body>
</html>

其页面内容如下:

此时为第一次打开该页面,之前并没有数据的输入,所以没有内容显示。可进行输入提交。
第二个页面:(IdiomInformtion.jsp) 三个判断条件,查询文件是否含有成语,若失败重新输入,成功则三秒后跳转到第一个页面显示迄今为止成语信息。

<%@ page import="java.io.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java"  pageEncoding="utf-8" %>
<html>
<head><title>成语接龙信息查看 </title>
</head>
<body>
<%!
String msg="";
%>
<%
request.setCharacterEncoding("utf-8");String idiom = request.getParameter("idioms");//判断长度是否合格if(idiom.length()!=4){out.println("成语的长度应该为4个字,请重新输入<br>");out.println("<a href=idiom.jsp>重新输入</a>");return;}//如果不是第一个则需要判断成语是否接龙,是第一个则不需要重新判断if(!msg.equals("")){if(msg.charAt(msg.length()-2)!=idiom.charAt(0)){out.println("请注意成语接龙规则:后一个成语的第一个字必须是前一个成语的最后一个字,请重新输入<br>");out.println("<a href=idiom.jsp>重新输入</a>");return;}}//判断是否是成语 在提供的成语库中进行查询  成语不全 可能有遗漏 误伤情况boolean isIdiom=false;BufferedReader br=null;try {br = new BufferedReader(new InputStreamReader(new FileInputStream("C:\\Users\\Lenovo\\IdeaProjects\\webDemo\\ServletDemo\\src\\information\\idiom.txt"),"utf-8"));String connection = br.readLine();while (connection != null) {if(connection.contains(idiom)) {out.println(idiom);isIdiom = true;break;}connection = br.readLine();}}catch (IOException e){e.printStackTrace();}if(isIdiom==false){out.println("你输入的不是成语,请重新输入");out.println("<a href=idiom.jsp>重新输入</a>");return;}msg+=idiom+" ";session.setAttribute("msg",msg);out.println("成语已经提交成功,三秒后自动跳转查看成语");response.setHeader("refresh","3;idiom.jsp");
%>
</body>
</html>

运行结果如下:
case1.输入的字数不等于4位:



点击重新输入则会返回刚才输入页面。
case2.输入的不是成语(即文件中不包含该成语)

case3:
之前有成语了,但该成语的第一个字与上个成语的最后一个字不相同。


case4:
正确输入情况

ps:
上文提到读成语文件,需要大家自行进行创建添加成语,若想简单实现成语接龙,忽略是否为成语,可以忽略此判断条件和内容。

简单的成语接龙就做好啦,大家有什么问题欢迎咨询哦。

使用jsp实现成语接龙相关推荐

  1. Java-使用JSP+Servlet 制作成语接龙

    注意:本文章只用作学习交流,文中的内容禁止用作商业用途,或者其他非法用途.如有任何问题请私信联系我!!! 目录 一.为什么要写这个程序 二.效果图 三.分析 四.项目结构 五.实现   1.前端的输入 ...

  2. javaweb成语接龙

    idiom.jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> ...

  3. Javaweb 成语接龙(实验)

    这篇文章介绍一下如何实现成语接龙.严格意义上来说我实现的是四个字的词语接龙.没有引入成语库,只判断是否为四个字以及前一个词最后一个字和后一个词第一个字是否相同.用两个jsp页面就可以实现,非常简单基础 ...

  4. 中国电子学会图形化四级编程题:成语接龙

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 我们将有关编程题目的教学视频已经发布到抖 ...

  5. 8个成语接龙首尾相连_七七八八成语接龙_八开头的成语大全,八结尾的成语接龙...

    向您解答有哪些七七八八的成语接龙是什么?用最后八字结尾来接八开头的成语,就是七七八八的成语接龙了.另外,我们也要知道七七八八的造句子内容更新请继续访问www.mygx.net.,无 第一位 第二位 第 ...

  6. python——成语接龙小游戏

    小试牛刀的简易成语接龙. 思路-- 1.网上下载成语字典的txt版本 2.通过python进行处理得到格式化的成语,并整理成字典(python字典查找速度快) 3.python程序,查找 用户输入的最 ...

  7. 成语json_人工智能测试爬百度成语测成语接龙

    点击关注,我们共同每天进步一点点! 前言 本意,昨晚想发一文,在梳理思路找笔记一小半时,一朋友跟伴侣吵架了,突然从技术写文转变到情感"砖家",微信聊了一个多小时,脑力都用光了,早上 ...

  8. 再谈Weiphp公众平台开发——1、成语接龙插件

    易错点,注意插件的命名 1.创建插件.在weiphp管理后台创建成语接龙插件,勾选安装后立即启用,不需要配置项和管理列表.点"确定"完成插件的创建. 2.安装插件. 3.检测插件是 ...

  9. Flask开发成语接龙游戏,闲来无事手机玩玩自己写的游戏吧!

    英语单词学习应用 周五发布的文章Flask开发天气查询软件,带你掌握pipenv的使用与手机Termux下的部署发布后,看到喜欢的人比较多.本来周末打算照着扇贝/极光单词,写一个英语单词自测工具.但苦 ...

  10. 微信小程序在线成语接龙答题有奖1.5.1版源码

    简介: 微信小程序在线成语接龙答题有奖源码是一款搭建在微擎上使用的 成语接龙答题有奖红包,可配合流量主推广,广告变现,后台含有区间余额区间奖励配置,自定义金额提现配置: 题库后台自己输入就可以. 开通 ...

最新文章

  1. mysql cronjob 备份_了解cron以及使用cron定时备份MySQL
  2. java 加密算法 base64
  3. mysql数据库连接过多的错误,可能的原因分析及解决办法
  4. python list遍历删除_Python中list循环遍历删除数据的正确方法
  5. java初学编程题及答案_Java 入门编程题答案记录(记录)
  6. python打包成安装包_把 python 程序打包成 egg 或者 whl 安装包
  7. STL中map和string, vector 用法详解
  8. Android 系统性能优化(51)---APK 安装时间长
  9. FD.io VPP:CentOS7下构建自己的VPP RPM包
  10. AX7 Form继承接口
  11. Linux 更改共享内存tmpfs的大小
  12. Ambari--告警管理
  13. English trip V1 - 2.Don't Do That Teacher:Patrick Key: 祈使句(imperatives)
  14. shell如何清除linux系统所有任务,技术|RHCE 系列(四): 使用 Shell 脚本自动化 Linux 系统维护任务...
  15. win10计算机修改底色,win10系统怎么更换电脑背景?
  16. navcat定时备份mysql_Navicat for MySQL定时备份数据库及数据恢复
  17. TransactionSystemException
  18. MATLAB绘图—三维网格绘图(mesh)
  19. keil出现蓝色小箭头
  20. 吉祥物,送吉祥(续更)

热门文章

  1. qca9535 tftp32 刷机_【U-Boot】U-Boot 刷机方法大全
  2. msfconsole攻击ftp_MSFconsole核心命令教程
  3. 信息安全技术--一次一密钥密码
  4. Win7 FTP搭建
  5. 2021华为悦盒EC6110-T-M-拆机-强刷固件及教程
  6. 下载的word excel ppt 文件锁定了,解除操作步骤
  7. Linux下重启tomcat
  8. UReport2导出报错
  9. excel 基础知识 入门
  10. Python实现千图成像:从图片爬取到图片合成