博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最长英语单词链
阅读量:5052 次
发布时间:2019-06-12

本文共 1182 字,大约阅读时间需要 3 分钟。

大家经常玩成语接龙游戏,我们试一试英语的接龙吧:一个文本文件中有N 个不同的英语单词, 我们能否写一个程序,快速找出最长的能首尾相连的英语单词链,每个单词最多只能用一次。最长的定义是:最多单词数量,和单词中字母的数量无关。

统一输入文件名称:input1.txt, input2.txt

统一输出文件名称:output1.txt,output2.txt

程序需要考虑下列异常状况:

例如,文件不存在,你的程序会崩溃么,还是能优雅地退出并给用户提示信息?

如果文件没有任何单词、只有一个单词、没有可以首尾相连的单词,程序应该如何输出?

如果输入文件有一万个单词,你的程序能多快输出结果?

实验源码

package 数组;import java.awt.geom.Area;import java.io.BufferedReader;import java.io.File;import java.io.FileOutputStream;import java.io.FileReader;import java.io.OutputStream;public class dancilian {    public static void main(String[] args) {        // TODO Auto-generated method stub//String[] A={"apple","zoo","elephant","under","fox","dog","moon","leaf","tree"};dancilian a=new  dancilian();File file = new File("E:/input1.txt");String b=a.read(file);String[] A =b.split(" ");String[] f;String[] l;String[] end;f=a.first(A);l=a.last(A);end=a.jielong(A, l, f);for(int i=0;i<3;i++)System.out.println(end[i]);try {    a.write(end);} catch (Exception e) {    // TODO Auto-generated catch block    e.printStackTrace();}    }    public String[] first(String[] A)//返回首字母数组    {        String[] F= new String[A.length];        for(int i=0;i

 

转载于:https://www.cnblogs.com/zql98/p/10994996.html

你可能感兴趣的文章
到底还是中国人,这官话都一套一套的
查看>>
Java 排序(快排,归并)
查看>>
解析html
查看>>
linux日常管理-系统进程查看工具-ps
查看>>
HandlerThread&Looper&MessageQueue
查看>>
ROM的一种写法
查看>>
VIM Taglist + ctags
查看>>
supervisord
查看>>
ubuntu10.04安装x264库
查看>>
●数组及应用举例
查看>>
__int128的实现
查看>>
R 读取clipboard内容 (MAC)
查看>>
Problem - 1118B - Codeforces(Tanya and Candies)
查看>>
jdk1.8 api 下载
查看>>
svn 图标不显示
查看>>
getElement的几中属性介绍
查看>>
iOS 使用Quartz 2D画虚线 【转】
查看>>
平面最接近点对
查看>>
HTML列表,表格与媒体元素
查看>>
PHP、Java、Python、C、C++ 这几种编程语言都各有什么特点或优点?
查看>>