import java.util.Scanner; public class Ceshi { public static void main(String args[]){ Scanner sc=new Scanner(System.in); int L; System.out.println("请输入数组长度"); L=sc.nextInt(); int a[]=new int[L]; int c[]=new int[L]; int sum1[]=new int[L]; int d=sum1[0]; System.out.println("请输入要进行处理的数(L个):"); for(int i=0;i<L;i++) { c[i]=sc.nextInt(); } for(int j=0;j<L;j++){ for(int k=0;k<L;k++){ a[k]=c[(j+k)%L]; } int sum=a[0]; int b=0; for(int i=0;i<L;i++){ if(b<0) { b=a[i]; } else{ b+=a[i]; } if(sum<b){ sum=b; } sum1[j]=sum; } if(d<sum1[j]){ d=sum1[j]; } } System.out.print("最大子数组和为:"+d); } }
设计思路: 我们坐了数组中求最大和 还要在循环数组中求取,按照下标一个一个的找,大于零的加起来