ソフトウェア工学の個人的な作業の第2週

パッケージのテキスト。

輸入java.io.BufferedReader;
輸入java.io.FileNotFoundException。
輸入java.io.FileReader;
インポートにjava.io.IOException; 

パブリック クラス3 { 
    
    パブリック 静的 int型の長さ= 0 
    
    パブリック 静的 INT [] readArray(){
         INT [] A = 新た INT [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 + =(CHAR )T。
                もし(!(T <48 || T> 57)&& NUM = ""!&& NUM = " - "){   
                    [長++] = 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] = [0 ]。
        int型 J = 0、最大= 0、MAXNUM = 0 ;
        以下のためにINT I 1 =; I <長さ、I ++ ){
             場合([i]が<0 && B [j]> 0 
                B [ ++ jは] = [I]。
            他の 場合([i]が> 0 && B [J] <0 
                B [ ++ jは] = [I]。
            他の 場合([i]が<= 0 && B [J] <0 
                B [J] + = [I]。
            それ以外の 場合([i]が> = 0 && B [J]> 0
                B [J] + = [I]。
        } 
       
        もし、(B [0] <= 0 && B [1] == 0 ){     
            最大値 = [0 ]。
            以下のためにINT I = 1; I <10; I ++ 場合(MAX < [i])と
                    最大値 = [I]。
        } 
        { 
            マックス = B [0 ]。
            intは I ++; I <= jのI = 0 であれば(MAX < 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( "サブ配列と最大である:" + MAX); 
    } 
    公共の 静的な 無効メイン(文字列[]引数){ 
        MAXNUMBER(readArray() ); 
    } 
}

 

 

 

行うことができますファイルを読んだが、プログラムの堅牢性は保証されません。

 

おすすめ

転載: www.cnblogs.com/vvxvv/p/12378200.html