교실 테스트 - 가장 긴 단어 체인을 계산

아이디어는 먼저 파일에서 읽은 다음 여기에, 단어 배열에 단어를 쓰는 배열이 운영이다됩니다. 첫째는이 단부 끝은, 첫 번째 단어가 먼저 종단 하였다 경우, 다음 순차 내부의 오브젝트에 기록 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은 (문자열들) 가 발생 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 . (1 words.length == ) 
            { 
                IF ( "".equals (즉 [0 ])) 
                에서 System.out.println ( "아니오 단어 파일" )
                 다른 
                    에서 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로 ; 나는 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 \\ \\ " );
                 은 try {
                     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는 "파일이 존재하지 않습니다" );
         // 은 try {
         //      file.createNewFile ();
        //   } 캐치 (IOException가 E) {
        // 해야할 일 자동 생성 된 catch 블록
       //       E .printStackTrace ();      
      //    } 
        리턴  false로는 ; 
    } 
} 
// 폴더 (변성)가 있는지 여부를 판단 
공공  정적  무효 judeDirExists (파일 파일) { 

    만약에 (file.isDirectory ()) {(file.exists ()) {
         경우 
            에서 System.out.println이 ( "디렉토리가 존재" ); 
        } 다른 { 
            에서 System.out.println이 ( "같은 이름의 파일이 디렉토리를 만들 수 없습니다 존재" ); 
        } 
    } 다른 { 
        에서 System.out.println이 ( "DIR하지를 생성, 존재 ..." ); 
        file.mkdir (); 
    } 

} 
}

 

추천

출처www.cnblogs.com/qianmo123/p/10991574.html