单词接龙
从字母开始读,然后走单词,打印输出
package lianxi;
import java.io.FileReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Fine {
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);
//初始化
{
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);
}
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:\output.txt");
for(i=0;i<ls.get(max).size();i++)
{
fw.println(ls.get(i)+" ");
}
fw.flush();
fw.close();
}
catch(Exception e)
{
e.printStackTrace();
}
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:\output.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;
}
}
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;
}
}
}