Wordのソリティア
手紙から読み始め、その後、単語を取り、プリント出力
パッケージlianxi。
輸入java.io.FileReader。
輸入てjava.io.PrintWriter;
輸入はjava.util.ArrayList;
輸入はjava.util.List;
インポートjava.util.Scanner;
輸入はjava.util.ArrayList;
輸入はjava.util.List;
インポートjava.util.Scanner;
パブリッククラスファイン{
パブリック静的無効メイン(文字列[] args)
{
文字列今= "";
一覧<文字列>リットル=新しいArrayListを();
リスト<リスト<文字列>> LS =新しいのArrayList <リスト<文字列>>();
int型L_iを= 0、ls_i = 0;
I = 0、T = 0、フラグ= 0、最大= 0 int型。
試す
{
FileReaderのFR =新規FileReader( "D:\\ INPUT.TXT");
=新しいスキャナ(FR)でのスキャナ。
//初始化
{
文字列今= "";
一覧<文字列>リットル=新しいArrayListを();
リスト<リスト<文字列>> LS =新しいのArrayList <リスト<文字列>>();
int型L_iを= 0、ls_i = 0;
I = 0、T = 0、フラグ= 0、最大= 0 int型。
試す
{
FileReaderのFR =新規FileReader( "D:\\ INPUT.TXT");
=新しいスキャナ(FR)でのスキャナ。
//初始化
//读取
一方(in.hasNext())
{
今= in.next()。
System.out.println(今)。
IF(フラグ== 0)
{
L =新しいArrayListを()。
l.add(今)。
ls.add(L)。
フラグ= 1。
}
他
{
用(i = 0; i)は(ls.sizeを<; iは++)//遍历所有表
{
IF(ifLian(ls.get(I)に.get(ls.get(I).size() - 1 )、今))//首尾相连
{
L =新しいArrayListを()。
L = ls.get(I)。
l.add(今)。
ls.set(I、L)。
}
一方(in.hasNext())
{
今= in.next()。
System.out.println(今)。
IF(フラグ== 0)
{
L =新しいArrayListを()。
l.add(今)。
ls.add(L)。
フラグ= 1。
}
他
{
用(i = 0; i)は(ls.sizeを<; iは++)//遍历所有表
{
IF(ifLian(ls.get(I)に.get(ls.get(I).size() - 1 )、今))//首尾相连
{
L =新しいArrayListを()。
L = ls.get(I)。
l.add(今)。
ls.set(I、L)。
}
}
、L =新しいArrayListを()。
l.add(今)。
ls.add(L)。
}
}
//寻找最大
マックス= ls.get(0).size();
用(i = 0; i)は(ls.sizeを<; iは++)
{
IF(最大<ls.get(I).size())
{
最大= ls.get(I).size();
}
}
(i = 0; i)は(ls.sizeを<; iは++)のために
{
ため(T = 0、T <ls.get(I).size(); T ++)
{
System.out.print(ls.get (I)に.get(T)+」「)。
}
のSystem.out.println();
}
のPrintWriter FW =新しいPrintWriter( "D:\\ output.txtと")。
(; I <ls.get(MAX).size(); I ++はI = 0)のための
{
fw.println(ls.get(I)+」「);
}
fw.flush()。
fw.close();
}
キャッチ(例外e)
{
e.printStackTrace();
}
、L =新しいArrayListを()。
l.add(今)。
ls.add(L)。
}
}
//寻找最大
マックス= ls.get(0).size();
用(i = 0; i)は(ls.sizeを<; iは++)
{
IF(最大<ls.get(I).size())
{
最大= ls.get(I).size();
}
}
(i = 0; i)は(ls.sizeを<; iは++)のために
{
ため(T = 0、T <ls.get(I).size(); T ++)
{
System.out.print(ls.get (I)に.get(T)+」「)。
}
のSystem.out.println();
}
のPrintWriter FW =新しいPrintWriter( "D:\\ output.txtと")。
(; I <ls.get(MAX).size(); I ++はI = 0)のための
{
fw.println(ls.get(I)+」「);
}
fw.flush()。
fw.close();
}
キャッチ(例外e)
{
e.printStackTrace();
}
}
パブリック静的ブールifLian(文字列、列B)開始//端部A、Bが同じであるアップル
{
IF((a.charAt(a.length) - 。1)== b.charAt(0))
{
リターンtrueに;
}
他
{
; falseに戻ります
}
}
パブリック静的ブールifLian(文字列、列B)開始//端部A、Bが同じであるアップル
{
IF((a.charAt(a.length) - 。1)== b.charAt(0))
{
リターンtrueに;
}
他
{
; falseに戻ります
}
}
}