제목 내용 :
생각 :인가이 질문은 예외를 처리, 우리는 예외 메커니즘을 사용한다는 것입니다. 나는 파일이 계산을 용이하게하기 위해 라인으로 읽기 라인입니다 읽어 보시기 바랍니다. 많은 수의, 나는이 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를 몰라