首页 > 其他分享 >计算英语文本中首尾接龙最长数量

计算英语文本中首尾接龙最长数量

时间:2023-03-05 18:24:16浏览次数:43  
标签:String fw System 接龙 println new 文本 首尾 out

public class Test1 {

    public static void main(String[] args) throws IOException
    {
        // TODO 自动生成的方法存根
        String filename ="E:\\123.txt";
        File  a=new  File(filename);
        File  file=new  File("E:\\456.txt");
        long startTime = System.currentTimeMillis();
        //judeFileExists(a);
        if(judeFileExists(a))
        {
            danci(filename);
        }
        else
        {
            try {

                FileWriter fw =new FileWriter(file);
                fw.write("无此文件");
                fw.flush();
                fw.close();
            }
            catch (IOException e) {
                e.printStackTrace();
            }
        }
        long endTime = System.currentTimeMillis();    //获取结束时间
        System.out.println("程序运行时间:" + (endTime - startTime) + "ms");    //输出程序运行时间
    }

    public static void danci(String s) throws IOException {

        BufferedReader br = new BufferedReader(new FileReader(s));
        StringBuffer sb = new StringBuffer();
        String text = null;
        while ((text = br.readLine()) != null) {
            sb.append(text);// 将读取出的字符追加到stringbuffer中
        }
        br.close(); // 关闭读入流
        String str = sb.toString().toLowerCase(); // 将stringBuffer转为字符并转换为小写
        String[] words = str.split("[^(a-zA-Z)]+"); // 非单词的字符来分割,得到所有单词
        for (int i = 0; i < words.length; i++) {
            System.out.print(words[i]+" ");
            if ((i+1)%20==0)
                System.out.println();
        }
        String end;
        String start;
        int num=0;
        StringBuffer lainjie1 = new StringBuffer();
        int S=0,E=0;
        String b1=words[0];
        if(b1.equals(""))
        {
            System.out.println("文件为空");
            lainjie1.append("文件为空");
        }
        else
        {
            if(words.length==1)
            {
                System.out.println("只有一个单词");
                return;
            }


            for(int i=0;i<words.length-1;i++)
            {
                int num1=0;
                StringBuffer lainjie = new StringBuffer();
                boolean jued=false;
                int s1=0,e1=0;
                for (int j = i+1; j < words.length; j++) {
                    end=words[j-1].substring(words[j-1].length()-1);
                    start=words[j].substring(0,1);
                    if(end.equals(start))
                    {
                        if(jued==false)
                        {
                            lainjie.append(words[j-1]);
                            lainjie.append(" ");
                            num1++;
                            jued=true;
                            s1=j;
                        }

                        lainjie.append(words[j]);
                        lainjie.append(" ");
                        num1++;
                    }
                    else
                    {

                        e1=j;
                        break;
                    }
                }
                if(num1>num)
                {
                    num=num1;
                    lainjie1=lainjie;
                    S=s1;
                    E=e1;
                }
            }
            if(lainjie1.toString().equals("")) {lainjie1.append("无互联语句");}


            System.out.println("---------------------------------------");
            System.out.println(lainjie1.toString());
            System.out.println(num);
            System.out.println(S);
            System.out.println(E);
        }
        
        File file =new File("E:\\456.txt");
        try {
            file.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }

        try {

            FileWriter fw =new FileWriter(file);
            fw.write(lainjie1.toString());
            fw.flush();
            fw.close();
        }
        catch (IOException e) {
            e.printStackTrace();
        }


    }


    public static boolean judeFileExists(File file) {

        if (file.exists()) {
            System.out.println("文件存在");
            return true;
        } else {
            System.out.println("文件不存在");
           
            return false;
        }
    }
}

1

标签:String,fw,System,接龙,println,new,文本,首尾,out
From: https://www.cnblogs.com/qwb0614/p/17181211.html

相关文章

  • 初探富文本之CRDT协同实例
    初探富文本之CRDT协同实例在前边初探富文本之CRDT协同算法一文中我们探讨了为什么需要协同、分布式的最终一致性理论、偏序集与半格的概念、为什么需要有偏序关系、如何通......
  • 单词接龙
    思路:首先读取文件,将文件中的单词用动态字符串数组存储,然后关闭文件,得到数组后,创立一个死循环,运用循环语句,依次让单词和单词之间的首尾单词相互判断,看是否能匹配成功,成功则......
  • VSCode 复制匹配到的文本
    查找到指定格式的内容之后。点击菜单栏选择、选择所有匹配项。参考:使用VSCode提取指定特征的文本......
  • 文本数据清洗:去除纯数字、纯字母、手机号等
    importpandasaspdimportre#获取所有句子,并且没有重复值df1=pd.read_csv("无标题.csv",encoding='gbk')col1=df1[["usermsg"]]df2=pd.read_csv("无标题.c......
  • 1.基于Label studio的训练数据标注指南:信息抽取(实体关系抽取)、文本分类等
    文本抽取任务LabelStudio使用指南1.基于Labelstudio的训练数据标注指南:信息抽取(实体关系抽取)、文本分类等2.基于Labelstudio的训练数据标注指南:(智能文档)文档抽取任务......
  • 适用于 .NET 的开源文本差异对比组件
    适用于.NET的开源文本差异对比组件DotNet大王源码资料,微信zhaoxi965,有问必复​关注他 1人赞同了该文章对于开发人员来说,Git是我们经常使用......
  • sap -文本编辑器
    DATA:ok_codeTYPEsy-ucomm,save_okTYPEsy-ucomm.DATA:init.DATA:containerTYPEREFTOcl_gui_custom_container.DATA:editorTYPEREFTOcl_gui_texted......
  • 3.基于Label studio的训练数据标注指南:文本分类任务
    文本分类任务LabelStudio使用指南1.基于Labelstudio的训练数据标注指南:信息抽取(实体关系抽取)、文本分类等2.基于Labelstudio的训练数据标注指南:(智能文档)文档抽取任务......
  • SVG绘制文本
    在SVG中,通过text标签来绘制文本,它是一个双标签,基本语法为:尖角号text,尖角号/text,标签里填写文本的内容。它的属性x和属性y,定义文本的位置坐标,值为数字。还有两个常用......
  • CSS 数学函数与容器查询实现不定宽文本溢出跑马灯效果
    在许久之前,曾经写过这样一篇文章--不定宽溢出文本适配滚动。我们实现了这样一种效果:文本内容不超过容器宽度,正常展示文本内容超过容器的情况,内容可以进行跑马灯来回滚......