package shuzi; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class wenjianduru { public static void main(String[] args) throws IOException { int n = 10000; //N*N数组 int [] a=new int [n]; int [] b=new int [n]; //数组初始化,随机生成的[0,100)之间的double数 for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ a[i] = (int) (Math.random()*100); System.out.println(a[i]); } } File file = new File("d:\array.txt"); //存放数组数据的文件 FileWriter out = new FileWriter(file); //文件写入流 BufferedReader in = new BufferedReader(new FileReader(file)); // String line; //一行数据 int row=0; //逐行读取,并将每个数组放入到数组中 while((line = in.readLine()) != null){ String[] temp = line.split(" "); for(int j=0;j<temp.length;j++){ a[row] = (int) Double.parseDouble(temp[j]); b[row]=a[row]; } row++; } in.close(); int i,j=0,k=0; for(i=1;i<n;i++) { if(a[i]+a[i-1]>a[i]) { a[i]=a[i]+a[i-1]; j=i; }else { k=i; } } for(i=j+1;i<n;i++) { a[i]=a[i]+a[i-1]; } for(i=0;i<k;i++) { if(a[n-1]+b[i]>a[n-1]) { a[n-1]=a[n-1]+b[i]; } } int ans=-100000; for(i=0;i<n;i++) { if(ans<a[i]) { ans=a[i]; } } System.out.println(ans); } }