zoukankan      html  css  js  c++  java
  • 最长英语单词链

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

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

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

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

    例如,文件不存在,你的程序会崩溃么,还是给用户提示信息?

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

    如果输入文件有一万个单词,你的程序会不会崩溃呢?

    public class dancilian {
    
        public static void main(String[] args) {
    dancilian a=new dancilian(); File file = new File("E://test//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) { e.printStackTrace(); } } public String[] first(String[] A) { String[] F= new String[A.length]; for(int i=0;i<A.length;i++) { F[i]=A[i].substring(0,1); } return F; } public String[] last(String[] A) { String[] L= new String[A.length]; for(int i=0;i<A.length;i++) { L[i]=A[i].substring(A[i].length()-1); } return L; } public String[] jielong(String[] A,String[] L,String[] F) { String[] end=new String[A.length]; int k=0; end[0]=A[0]; for(int j=0;j<A.length;j++) { if((end[k].substring(end[k].length()-1)).equals(F[j])) { end[++k]=A[j]; } } return end; } public String read(File file){ StringBuilder result = new StringBuilder(); try{ BufferedReader br = new BufferedReader(new FileReader(file)); String s = null; while((s = br.readLine())!=null){ result.append(System.lineSeparator()+s); } br.close(); }catch(Exception e){ e.printStackTrace(); } return result.toString(); } public void write(String[] str) throws Exception{ File f = new File("E://test//output1.txt"); OutputStream out = new FileOutputStream(f,true); for(int i=0; i<str.length; i++){ out.write(str[i].getBytes()); out.write(' '); out.write(' '); } out.close(); System.out.println("写入成功!"); } }
    复制代码
    是多疑还是去相信 谎言背后的忠心 或许是自己太执迷 命题游戏 沿着他的脚步 呼吸开始变得急促 就算看清了面目 设下埋伏 真相却居无定处 I swear I'll never be with the devil 用尽一生孤独 没有退路的路 你看不到我 眉眼焦灼却不明下落 命运的轮轴 伺机而动 来不及闪躲 沿着他的脚步 呼吸开始变得急促 就算看清了面目 设下埋伏 真相却居无定处 I swear I'll never be with the devil 用尽一生孤独 没有退路的路 你看不到我 眉眼焦灼却不明下落 命运的轮轴 伺机而动 来不及闪躲 你看不到我 眉眼焦灼却不明下落 命运的轮轴 伺机而动 来不及闪躲 黑夜和白昼 你争我夺 真相被蛊惑 心从不退缩 这天堂荒漠 留给孤独的猎手
  • 相关阅读:
    安卓权威编程指南-笔记(第24章 Looper Handler 和 HandlerThread)
    AndroidImageSlider
    ToolBar的使用
    安卓权威编程指南-笔记(第26章 服务的作用)
    关于两个update语句互相死锁的显现,加深我们对锁的了解 转载
    js 原型和构造方法 转载
    关于distinct 和group by的去重逻辑浅析
    tab 下一个
    当前浏览器版本
    清除li间隔
  • 原文地址:https://www.cnblogs.com/muailiulan/p/11070750.html
Copyright © 2011-2022 走看看