2024.3.5(周二)进度

敲代码时间:课上一个半小时

内容:哈利波特英文版接龙

博客量:2

知识点:读入文件并将结果导入另一个文件

package letteron;

import java.io.FileReader;

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

public class Letteron {

    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
        {
            FileReader fr=new FileReader("D:\\input.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();
                }
            }
            
            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("D:\\output1.txt");
            for(i=0;i<ls.get(max).size();i++)
            {
                fw.println(ls.get(i)+" ");
            }
            fw.flush();
            fw.close();
        }
        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;
        }
            
            
    }

}

 

posted @ 2024-03-05 19:44  记得关月亮  阅读(2)  评论(0编辑  收藏  举报