教室でのテスト - 最長のワードチェーンの計算

アイデアは、最初のファイルから読み込まれ、その後、単語列に単語を書き込みされ、ここで、アレイは動作します。まず、各単語の最初の文字と最後の文字を取得し、それが最後まで終了か否かが判断される、最初の単語は、第一の端部に端部が続く場合は、StringBufferオブジェクトに書き込まれ、その後、順次内部オブジェクトに書き込まれ、最終的にターゲットライト出力ファイルに。判決の様々な段階については、単に文がライン上で判断される場合には、以下の詳細なコードで使用します。

パッケージのテスト; 

インポートするjava.applet.Applet;
輸入java.io.BufferedReader;
インポートのjava.io.File;
輸入java.io.FileReader。
輸入java.io.FileWriter;
インポートにjava.io.IOException; 

パブリック クラスLian2 { 

    公共 静的 ボイドメイン(文字列[]引数)がスローにIOException {
         // TODO自动生成的方法存根

        文字列のファイル名 = "D:\\大二下\\软件工程\\ INPUT.TXT"を
        ファイル = 新しい  ファイル(ファイル名);
     // judeFileExists(A); 
     もし(judeFileExists(A))
        { 
            danci(ファイル名)。
        } 
     
        { 
         するSystem.out.println( "文件不存在" )。
        } 
         
        
    } 

    パブリック 静的 ボイド danci(String s)文字スローにIOException { 
           
            BufferedReaderのBR = 新しい BufferedReaderの(新しいFileReaderの(単数または複数))。
            StringBufferのSB = 新しいStringBufferを(); 
            文字列のテキスト = nullをしばらく((テキスト= br.readLine())!= nullの){
                sb.append(テキスト); // 読み出し文字がStringBufferのに添付されている
            } 
            br.close(); // 閉じるストリームに読み出す 
            文字列= sb.toString STR()toLowerCaseメソッド();. //はStringBufferのに変わりますそして小文字文字 
            列[] = str.split単語( "[^(Z-ZA-A)] +"); // 非単語分割の文字、すべての単語
            IF(words.length 1 == 
            { 
                IF( "" .equals(単語[0 ]))
                のSystem.out.println( "NOワードファイル" );
                 
                    のSystem.out.println( "一つのワードファイル" ); 
            } 

            
            {
                StringBufferの八尾 = 新しいStringBufferを(); 
                列b1 =ワード[0 ]。
                yao.append(B1)。
                yao.append( "" );
                // するSystem.out.println(B1); 
                ストリングの端= b1.substring(b1.length() - 1 、b1.length())。
                // するSystem.out.println(終了)。
               以下のためにint型 ; iはwords.length <I ++はI = 1 
               {   
                文字列起動 [i]は.substring(0,1 =単語を)。
                もし(end.equals(開始)) 
                {
                    終了言葉= [I] .substring(単語[I] .LENGTH() - 1。 単語[I] .LENGTH()); 
                    yao.append(単語[I]); 
                    yao.append( "" ); 
                } 
                
               } 

              文字列T = yao.toString();            
               IF( "アップル" .equals(T))
              { 
                  するSystem.out.println( "エンド・ワードに終わり" ); 
              } 
               ファイルファイル = 新しい新しいファイル(「D:\\年生下ソフトウェアエンジニアリングoutput1.txt \\ \\ " );
                 試みる {
                     file.createNewFile(); 
                } キャッチ(IOExceptionを電子){ 
                   e.printStackTrace();      
               } 
              
                試みる{ 
                    
                      てFileWriter FW = 新しいてFileWriter(ファイル)。
                      fw.write(yao.toString())。
                      fw.flush(); 
                      fw.close(); 
                } 
                キャッチ(IOExceptionを電子){ 
                       e.printStackTrace();      
                   } 
            } 
         
    } 


// 判断文件是否存在
パブリック 静的 ブール judeFileExists(ファイルファイル){ 

    場合(file.exists()){ 
        
        リターン  trueに; 
    } { 
        System.out.printlnは( "ファイルが存在しない" );
         // 試み{
         //      file.createNewFile();
        //   }キャッチ(IOExceptionをE){
        // TODO自動生成catchブロック
       //       e.printStackTrace();      
      //    } 
        戻り falseに; 
    } 
} 
//はフォルダ(非修飾)があるか否かを判断する
パブリック 静的 ボイドjudeDirExists(ファイルのファイル){ 

    Ifは(file.exists()){
         場合(file.isDirectory()) {
            System.out.println( "DIRが存在します" )。
        } { 
            するSystem.out.println(「同じ名前のファイルが存在し、DIRを作成することはできません」)。
        } 
    } { 
        するSystem.out.println( "DIRない存在は、それを作成..." )。
        file.mkdir(); 
    } 

} 
}

 

おすすめ

転載: www.cnblogs.com/qianmo123/p/10991574.html
おすすめ