작업을 달성하고자하는 최대 고객은 --- 모든 하위 배열 및 배열에 파일을 읽을 수


제목 내용 :

생각 :인가이 질문은 예외를 처리, 우리는 예외 메커니즘을 사용한다는 것입니다. 나는 파일이 계산을 용이하게하기 위해 라인으로 읽기 라인입니다 읽어 보시기 바랍니다. 많은 수의, 나는이 BigInteger를 사용, 당신은 코드에서보기를 무한 계산할 수 있습니다

package daliyTest1;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.math.BigInteger;

public class GetBiggestArrayByFile {
    public static void main(String[] args) {
        BigInteger a[] = new BigInteger[100000];
        int i = 1;
        File file = new File("C:\\Users\\MACHENIKE\\Desktop\\新建文本文档.txt");
        BufferedReader reader = null;
        try {
            reader = new BufferedReader(new FileReader(file));
            String value="";
            try {
                while((value=reader.readLine())!=null) {
                    try {   
                        a[i++] = new BigInteger(value);
                    } catch (Exception e) {
                        System.out.println("文件里存在非数字的符号!!");;
                    }
                }
            
                for(int j=2;j<i;j++) {
                    if((a[j].compareTo(a[j].add(a[j-1]))<0)){
                        a[j] = a[j].add(a[j-1]);
                    }
                }
                BigInteger ans_1 = BigInteger.valueOf(-10000);
                // 对数组取最大值
                for(int j=1;j<i;j++) {
                    ans_1 = ans_1.compareTo(a[j])<=0?a[j]:ans_1;
                }
                System.out.println("最大子数组和为:"+ans_1);
            } catch (IOException e) {
                e.printStackTrace();
            }
        } catch (FileNotFoundException e) {
            System.out.println("不存在该文件");
        }
    }
}

출력 :

,

파일의 내용 :

다소 테스트 출력 결과 :

파일의 내용 :

당신은 찾아 볼 수 바이 학습,보다 실용적인, 간단한있을 경우 BigInteger를 몰라

추천

출처www.cnblogs.com/yangxiao-/p/12368364.html