소프트웨어 공학 개인 작업의 두 번째 주

패키지 텍스트를; 

수입 java.io.BufferedReader의;
수입 java.io.FileNotFoundException;
수입 java.io.FileReader;
수입 때 java.io.IOException; 

공용  클래스 세 { 
    
    공공  정적  INT의 길이 = 0 ; 
    
    공용  정적  INT [] readArray는 () {
         INT는 [A는 = 새로운  지능 [100 ];
        INT t; 
        문자열 NUM = "" ;
        시도 { 
            BufferedReader의 BR =  (의 BufferedReader를새로운 FileReader를 ( "C : \\ 사용자 \\ AZ \\ 바탕 화면 \\ Array.txt" ));
            반면 ((t = br.read ()) = -1! ) {
                 경우 (t == 45 && NUM == "") {     
                    NUM = "-" ;
                    계속 ; 
                } 
                경우 (t> = 48 && t <= 57)    
                    NUM + = ( ) t;
                경우 ((t <48 || t> 57) && NUM = ""&& NUM =! "-"!) {   
                    A [길이 ++ = 있는 Integer.parseInt (NUM);
                    만약 (t == 45)         
                        NUM = "-" ;
                    그밖에
                        NUM = "" ; 
                } 
            }
             경우 ((NUM == ""|| NUM == "-")!)   
                이 [길이 ++ = 있는 Integer.parseInt (NUM);            
            () br.close; 
        } 캐치 (FileNotFoundException이 전자) { 
            에서 System.out.println ( "文件不存在!" ); 
        } 캐치 (IOException이 전자) { 
            에서 System.out.println ( "文件读取异常!" ); 
        } 
        반환 을;
    
      [] = B는 새로운  INT [100]; 
        B [0] = A [0 ];
        INT의 J = 0, 최대 = 0 maxnum = 0 ;
        위한 ( INT 난 = 1; I <길이; I ++ ) {
             경우 (a [I] <0 && B [J]> 0 ) 
                , B [ ++ j는] = A [I];
            다른  경우 (a [I]> 0 && B [J] <0 ) 
                , B [ ++ j는] = A [I];
            다른  경우 (a [I] <= 0 && B [J] <0 ) 
                2 [J] + = A [I];
            다른  경우 (a [I]> = 0 && B [J]> 0 )
                B [J] + = A [I]; 
        } 
       
        경우 (b [0] <= 0 && B [1] == 0 ) {     
            최대 = A [0 ];
            위한 ( INT 난 = 1; I <10; I ++ )
                 만약 (최대 < A [I]) 
                    최대 = A [I]; 
        } 
        다른 { 
            최대 = B [0 ];
            위한 ( INT ; I <= J; 나는 = 0 난 ++ )
                 만약 (최대 < B [I]) { 
                    최대 = B [I]; 
                    maxnum= I; 
                } 
            INT t = 0 ;
             ( INT I = maxnum; I <= J-2] = I + 2 ) {     
                t = t + B [I + 1] + B [I + 2 ];        
                만약 (t> 0 ) { 
                    최대 + = t; 
                    t = 0 ; 
                } 
            } 
            t = 0 ;
             ( INT I = maxnum; I> = 2, I- = 2 ) {    
                t = t + B [I-1] + B [I-2 ];        
                만약 (t> 0) { 
                    최대 + = T, 
                    T = 0 ; 
                } 
            } 
        }     
        에서 System.out.println ( "서브 어레이 최대 인"+ ) 최대] 
    } 
    공공  정적  무효 메인 (문자열 []에 args) { 
        MAXNUMBER (readArray () ); 
    } 
}

 

 

 

할 수있는 파일을 읽을이지만, 프로그램의 안정성을 보장 할 수 없습니다.

 

추천

출처www.cnblogs.com/vvxvv/p/12378200.html