第6.6演習

Wordのソリティア
 
手紙から読み始め、その後、単語を取り、プリント出力
 
パッケージlianxi。
輸入java.io.FileReader。
輸入てjava.io.PrintWriter;
輸入は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)でのスキャナ。
   //初始化
   //读取
   一方(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();
  }
  
 }
 パブリック静的ブールifLian(文字列、列B)開始//端部A、Bが同じであるアップル
 {
  IF((a.charAt(a.length) - 。1)== b.charAt(0))
  {
   リターンtrueに;
  }
  他
  {
   ; falseに戻ります
  }
   
   
 }
}
 

おすすめ

転載: www.cnblogs.com/mitang0-0/p/10986256.html