设计思想:将数组扩大成两倍,将第二重数组等于初始数组的第一值,即数组长度为n,int【i+n】=int【i】,利用for循环即可实现。
代码如下:
package shuzu; import java.util.Scanner; public class shuzu { public static void main(String args[]) { int maxsum=0,sum=0; int array[]=new int[10]; Scanner in=new Scanner(System.in ); System.out.println("输入n=?个整数"); int n=in.nextInt(); System.out.print("请输入n个整数:"); for(int i=0;i<n;i++) { array[i]=in.nextInt(); array[i+n]=array[i]; } for(int i=0;i<n;i++) { sum=0; for(int j=0;j<n;j++) { if(sum<0) sum=0; sum+=array[i+j]; if(sum>maxsum) maxsum=sum; } } System.out.print("子数组的最大值为:"+maxsum); } }
原文:https://www.cnblogs.com/1061321925wu/p/10587563.html