package 一;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import java.util.Random;
public class Maxshuzu
{
public static void main(String args[])
{
Random rd=new Random();
long Array[][]=new long[1000000][2];
int count=0,length=0;
File file = new File("shuzu.txt");
BufferedWriter writer = null;
try {
writer = new BufferedWriter(new FileWriter(file));
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
for(long k=0;k<10000;k++){
long l = (long)(Math.random()*1000);
String s = ""+l;
int i = s.length();
// for(int j=0;j <2-i;j++){
// s = "0"+s;
// }
int z;
if((z=(int) (Math.random()*100))%2==0) {
s="-"+s;
}
System.out.println(s);
try {
writer.write(s);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
writer.newLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
writer.flush();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
writer.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(file));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String tmp;
try {int i=0;
while((tmp = br.readLine()) != null){
Array[i][0]=Integer.parseInt(tmp);
i++;
length++;
}
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Array[0][1]=Array[0][0];
for(int i=1;i<length;i++)
{
if(Array[i-1][1]<=0)
{
Array[i][1]=Array[i][0];
}
if(Array[i-1][1]>0)
{
Array[i][1]=Array[i-1][1]+Array[i][0];
}
}
long Max=Array[0][1];
for(int i=1;i<length;i++)
{
if(Array[i][1]>Max)
{
Max=Array[i][1];
}
}
System.out.println("数组最大值为:"+Max);
}
}
通过使用Scanner类随机产生数字,使用bufferedWriter写入文件shuzu.txt,使用bufferedReader读出文件内容


在本文件中对数据的大小只能到达正负九位数左右,对输入内容的兼容性上有问题