java -英语单词接龙
设计思想:
将文件中的单词存入ArrayList数组中,分为前后两个数组,读入单词,经单词字母分解并且通过循环比较单词字母是否相同,相同写入结果文件,不同继续比较,直至找到最大接龙单词长度。
源程序代码:
package 单词接龙; import java.io.BufferedWriter; import java.io.IOException; import java.util.ArrayList; public class FineWord {public ArrayList<String> words = new ArrayList<>();public ArrayList<String> wordsList = new ArrayList<>();public boolean compare(String a, String b){a = a.toLowerCase();b = b.toLowerCase();return (a.substring(a.length() - 1).equals(b.substring(0, 1)));}public void fileSplit(String path) throws Exception{MyFile file = new MyFile();String theFileString = file.get(path);if (theFileString == null){return;}if (theFileString.equals("")){throw new Exception("空文件");}for (String word : theFileString.split("\\,|\\.| |\\(|\\)|\\;|\\:|\"|\\?|\\!|\\'| |\\、|\\”|\\“")){if (!word.equals("")){words.add(word);}}if (words.size() <= 1){throw new Exception("文件内单词过少(只有" + words.size() + "个词)");}}public void wordWrite(int index, String path) throws Exception{MyFile file = new MyFile();BufferedWriter bf = file.put(path);wordsList.add(words.get(index));try{for (String string : words){if (compare(wordsList.get(wordsList.size() - 1), string)){wordsList.add(string);bf.append(string);bf.newLine();}}bf.close();} catch (IOException e){// TODO 自动生成的 catch 块 e.printStackTrace();}if (wordsList.size() <= 1){throw new Exception("文件内无单词链");}}public static void main(String[] args){FineWord aFineWord = new FineWord();try{aFineWord.fileSplit("d://input1.txt");aFineWord.wordWrite(0, "d://output1.txt");System.out.println(aFineWord.wordsList);} catch (IOException e){System.out.println("无此文件");} catch (Exception e){System.out.println(e.getMessage());}} }
程序结果:
单个单词无接龙输出首个单词
总结:这次计算单词链最长长度,使我清楚地认识到将单词长句分解,可以实现很多功能,遇到问题不要慌张,把问题步揍化这样会更加简单。
转载于:https://www.cnblogs.com/1502762920-com/p/10991770.html
java -英语单词接龙相关推荐
- java英语单词测试_Java 英语单词自测
Java英语单词自测小游戏 编写初衷 记英语单词的时候,不知道记没记住,所以写了个检测的程序,在检测的同时,也能够复习之前学习的. 任务目标 创建数据库 Java编写代码(没写成GUI,觉着写成GUI ...
- Java 算法 单词接龙
目录标题 题目描述 解题思路 代码 题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的"龙"(每个 ...
- java英语单词学习网站 Vue项目源码介绍
本软件是一款高智能化的英语学习软件,具备查阅复习内容,复习进度,以及复习提醒等功能:还需具有复习汇总等功能.用户可无限扩充自己的词库,能随心所欲地制作出适合自己的词库,达到快速记单词,读音,词义的效果 ...
- 【附源码】计算机毕业设计java英语单词记忆系统设计与实现
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- java英语单词总结
基础----进阶 A. array数组accessible 可存取的 area面积audio 音频 addition 加法 action 行动 arithmetic 算法adjustmen ...
- Java英语单词(5000个)
Java基础常见英语词汇 OO: 面向对象 OOP: object-oriented programming,面向对象编程 JDK:Java development kit, java开发工具包 J ...
- Java英语单词大全
Java基础常见英语词汇(70个) OO: object-oriented ,面向对象 OOP: object-oriented programming,面向对象编程 JDK:Java develop ...
- JAVA英语单词(带音标)
Java基础常见英语词汇(共70个) ['ɔbdʒekt] ['ɔ:rientid]导向的 ['prəʊɡræmɪŋ]编程 OO: object ...
- Java英语单词(语言基础)
byte: 字节型 short: 短整型 int: 整型 long: 长整型 fl ...
最新文章
- eclipse 安装svn插件
- Linux下开启/关闭防火墙命令
- java rpm包安装_rpm包安装java jar开机自启
- mysql的纵向扩展方案_SQL Server横向扩展方案-SODA
- 《Raspberry Pi用户指南》——2.3 Debian简介
- LPC1758串口ISP下载程序
- 在可见性变小的时代,如何修复网络问题?
- hello world_AngularJS Hello World示例
- C++20 模式下将启用协程支持 CC 11
- 软件需求工程与UML建模第十二周作业
- 不用+、-、×、÷数字运算符做加法
- 解决Tomcat在cmd乱码问题
- 考研复试常见问题(数据库系统概论篇)
- VMware Explore 2022 China,赋能中国企业加速实现云智能
- 贸易相关术语[C-E]
- HTML5期末大作业:设计网站设计——动漫设计响应式(10页) HTML+CSS+JavaScript 动漫设计制作 简单静态HTML网页作品 动漫设计作业成品 学生个人网站模板
- IE无法上网,但其他浏览器可以
- 使用QueryList解析微信文章
- 一个小屁孩对父母说的经典话
- -2147483648是不是int常量