首页 > 其他分享 >英语链的接龙

英语链的接龙

时间:2023-02-27 21:46:46浏览次数:33  
标签:String System 接龙 file println new 英语

接龙规则:

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

最长的定义是:最多单词数量,和单词中字母的数量无关。

代码:

package file;
import java.io.*;
import java.util.*;
public class ceshi {
    public static void main(String[] args)throws FileNotFoundException, IOException  {

        File file=new File("D:/《飘》英文版.txt");
        File file2=new File("D:/output3707.txt");
        if(!file.exists())
        {
            System.out.println("文件不存在!");
        }
        else if(file.exists() && file.length() == 0) {
            System.out.println("文件为空!");
        } //判断是否文件为空
        else
        {
            BufferedReader br=new BufferedReader(new FileReader(file));
            BufferedWriter bw = new BufferedWriter(new FileWriter(file2)) ;

            String s="";
            int i,j;
            ArrayList<ArrayList<String>> listall=new ArrayList();
            String key;
            String str;
            while ((str = br.readLine()) != null) {
                s=s+str;
            }
            /* s=br.readLine();*/
            String s2 = s.replaceAll("\\s+", " ");
            System.out.println(s2);
            //将文本文件中的所有信息变为字符串
            String []s1=s2.split(" ");//以空格为分割划分每个单词
            if(s1.length==1)
                System.out.println("单词数为1");
            else
            {

                for(j=0;j<s1.length;j++)
                {

                    ArrayList<String> list=new ArrayList<String>();
                    key=s1[j].substring(s1[j].length()-1);
                    list.add(s1[j]);
                    System.out.println("key:"+key);
                    for(i=1;i<s1.length;i++)
                    {

                        if(key.equals(s1[i].substring(0, 1)))
                        {
                            list.add(s1[i]);
                            key=s1[i].substring(s1[i].length()-1);
                        }
                        else
                            continue;
                    }
                    listall.add(list);
                }
                int max=0;
                int count=0;

                for(i=0;i<listall.size();i++)
                {
                    if(max<listall.get(i).size())
                    {
                        max=listall.get(i).size();
                        count=i;
                    }
                }
                for(i=0;i<listall.get(count).size();i++)
                {
                    System.out.println(listall.get(count).get(i));
                    bw.write(listall.get(count).get(i));
                    bw.write(" ");
                }
                br.close();
                bw.close();
            }
        }
    }
}

  

标签:String,System,接龙,file,println,new,英语
From: https://www.cnblogs.com/yitongtianxia666/p/17162013.html

相关文章

  • 计算最长英语单词链思路
    首先就是做好输入文件读取文件和输出文件,可以在菜鸟教程去找,然后学习代码模板,把读入和读出写好。然后就是解决文件中的换行读取。有的读入写法不能读下行的字符。可以用菜......
  • 课堂练习01题目:计算最长英语单词链。
     一、题目内容:大家经常玩成语接龙游戏,我们试一试英语的接龙吧:一个文本文件中有N个不同的英语单词,我们能否写一个程序,快速找出最长的能首尾相连的英语单词链,每个单词最......
  • 计算最长英语单词链课堂测试
    从一段英语文本中将每个单词分离出来,并且找到最长英语单词链。具体问题如下:大家经常玩成语接龙游戏,我们试一试英语的接龙吧:一个文本文件中有N个不同的英语单词,我们能否写......
  • 英语背单词
    2023-02-26writeashortstorywiththefollowingwords:premise,oppose,chariot,bracket,parenthesis,mileage,pessimist,network,involve,ironic,puppet,......
  • #yyds干货盘点# LeetCode程序员面试金典:整数的英语表示
    题目:给定一个整数,打印该整数的英文描述。示例1:输入:123输出:"OneHundredTwentyThree"示例2:输入:12345输出:"TwelveThousandThreeHundredFortyFive"示例3:......
  • #MFC-中英语言切换问题 草稿1
    操作流程:2023-02-24 09:03:01 1.新建工程MFC(基于对话框),默认“中文”。2.添加多国语言资源。(SetDialog)。3.Local设置线程语言。name_combox.AddString(_T("zho......
  • 8个优质英语商业播客
    8个优质英语商业播客,快速积累职场口语素材!_哔哩哔哩_bilibili1.HowIbuiltthis创业2.Moneyfortherestofus金融3.Thesidehustleshow线下线上的创收,副业4.......
  • 杭州亚运会英语
    杭州亚运会英语The19thAsianGamesHangzhou2022口号​ Thesloganofthe19thAsianGamesHangzhou2022isHearttoHeart,@Future.吉祥物​Thema......
  • 输入一句英语将其倒置标点不倒置
    题目例如llovebeijing.倒置后就是beijing.lovel.这道题的关键就是如何让电脑判断出电脑现在被输入的这些字符构成了一个单词。这个我们可以运用遍历假设就有一个人输入......
  • 230217 关于英语学习的目标
    最近几天,你在听larry的英语课程.通过larry的介绍,你有了一些新的感触与理解.尤其是你关于你的英语的学习目标,你值得去深入思考,同时,不断校正与优化你的目标.之前,你......