寻找最长字符串

import java.io.File;
import java.io.FileReader;

import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class findLong {

    public static void main(String[] args)
    {
        String now="";
        List<String> l=new ArrayList();
        List<List<String>> ls=new ArrayList<List<String>>();
        int l_i=0,ls_i=0;
        int i=0,t=0,flag=0,max=0;
        try
        {
            File file = new File("test.txt");
            if (file.isFile() && file.exists()) {
                FileReader fr=new FileReader("test.txt");
                Scanner in =new Scanner(fr);
                //读取
                while(in.hasNext())
                {
                    now=in.next();
                    System.out.println(now);
                    if(flag==0)
                    {
                        l=new ArrayList();
                        l.add(now);
                        ls.add(l);
                        flag=1;
                    }
                    else
                    {
                        for(i=0;i<ls.size();i++)//遍历所有表
                        {
                            if(ifLian(ls.get(i).get(ls.get(i).size()-1),now))//首尾相连
                            {
                                l=new ArrayList();
                                l=ls.get(i);
                                l.add(now);
                                ls.set(i, l);
                            }

                        }
                        l=new ArrayList();
                        l.add(now);
                        ls.add(l);
                    }
                    
                }
                
                //寻找最大
                max=ls.get(0).size();
                for(i=0;i<ls.size();i++)
                {
                    if(max<ls.get(i).size())
                    {
                        max=ls.get(i).size();
                    }
                }
                
                
                if (max==1) {
                    System.out.println("当前文件内单词数量为1");
                }
                for(i=0;i<ls.size();i++)
                {
                    for(t=0;t<ls.get(i).size();t++)
                    {
                        System.out.print(ls.get(i).get(t)+" ");
                    }
                    System.out.println();
                }
                PrintWriter fw=new PrintWriter("output.txt");
                for(i=0;i<ls.get(max-1).size();i++)
                {
                    fw.println(ls.get(i)+" ");
                }
                fw.flush();
                fw.close();
            }
            else {
                System.out.println("找不到指定的文件");
            }
            //FileReader fr=new FileReader("input2.txt");
            
            //初始化

            
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        

    }
    public static boolean ifLian(String a,String b)//a的结尾与b的开头是否一致   apple
    {
        if(a.charAt(a.length()-1)==b.charAt(0))
        {
            return true;
        }
        else
        {
            return false;
        }
            
            
    }

}

猜你喜欢

转载自www.cnblogs.com/zhang188660586/p/11062013.html