今天写了课后作业,完成了从文本导入数据,数组数据进行求和,求最大子数组,关于数据溢出,目前只是将int型结果在输出时转化为long型,但是数据过大时还无法处理,会报错,第三点遇到错误时退出系统还没有做出来,之后会尽力完善,希望能完成。
源代码:
package practice.shuzu;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
public class classwork2 {
public static void main(String args[]) {
File f = new File("D:\\JAVA\\work_spaces\\导入文件\\hlbt.txt");
BufferedReader bf = null;
try {
bf = new BufferedReader(new FileReader(f));
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
String str;
try {
while((str=bf.readLine())!=null)
{
String[] s=str.split(",");
int []data = new int [s.length];
for(int j=0;j<s.length;j++)
data[j] = Integer.parseInt(s[j]);
for(int c=1;c<s.length;c++) {
if(data[c]<data[c]+data[c-1]) {
data[c]=data[c]+data[c-1];
}
else {
data[c]=data[c];
}
}
for(int i1=1;i1<s.length;i1++) {
if(data[0]<data[i1]) {
data[0]=data[i1];
}
}
String g=String.valueOf(data[0]);
long value = Long.parseLong(g);
System.out.println(value);
}
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}