3.12总结

 

代码改进

 

package a;
import java.util.*;
public class a4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n;
int[] a = new int[100];
System.out.println("请输入数组长度");
n = sc.nextInt();
Scanner sc1 = new Scanner(System.in);
for(int i=0;i<n;i++) {
a[i] = sc1.nextInt();
}
int maxsum = 0,sum = 0;
for(int i=0;i<a.length;i++) {
sum = sum + a[i];//累加
if(sum<0) //若当前和小于0,则重置为0
sum=0;
if(sum>maxsum) //若当前和大于最大和,则重置最大和
maxsum = sum;
}
if(maxsum==0) { //若maxsum==0,则说明书负数数组,求负数中最大值
maxsum=a[0];
for(int i=1;i<a.length;i++) {
if(a[i]>maxsum)
maxsum=a[i];
}
}
System.out.println("最大子数组的和为:" + maxsum);
}
}

posted @ 2022-03-18 20:36  清谦  阅读(22)  评论(0)    收藏  举报