个人作业-数组2

文件里的数据为

package com.sun2;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Test
{
    
private static BufferedReader br;
public static void main(String[] args) throws IOException
{
br = new BufferedReader(new FileReader("C:\\Users\\hp\\Desktop\\shuzu.txt"));
String s="";
String s1;
while((s1=br.readLine())!=null)
{
s=s+s1;
}
String [] data=s.split(" ");
int [] datas=new int [data.length];
//将String类型数组转成int类型
for(int j=0;j<data.length;j++)
{
datas[j]=Integer.parseInt(data[j]);
}
for(int i=0;i<datas.length;i++)
{
System.out.print(datas[i]+"   ");
}

double sum = 0;
// max为子数组的最大和
double max = 0;
for (int i=0,j = 0; j< datas.length; j++,i++) {
    sum=sum+datas[i];// 求和
    if (sum < 0) {// 如果当前求得总和为负数的话,就将其清零,并且开始位置从下一个位置开始
        sum = 0;
    }
    if (sum > max) {// 如果求得总和大于之前的最大值的话,就将sum赋值给max,同时记录最后的位置
        max = sum;
    }
}
System.out.println("Max:" + max);

}
}

运行截图

猜你喜欢

转载自www.cnblogs.com/chenyuchun/p/10548436.html