该数组能实现子数组的最大和,最大子数组的组成以及此时已检测的子数组个数。
package 数组; import java.util.Scanner; public class shuzu { static Scanner in=new Scanner(System.in); public static void main (String[] args) throws InterruptedException{ int num[]=new int[200]; System.out.println("请输入数组长度"); int n; n=in.nextInt(); System.out.println("请输入数组"); for(int i=0;i<n;i++) { num[i]=in.nextInt(); } int max1[]=new int[200]; int max=0; int max2=0; int begin=0; int stop=0; int sign=0; max2=num[0]; for(int i=0;i<n;i++) { if(max<=0) { max=num[i]; max1[i]=max; begin=i+1; }else { max+=num[i]; max1[i]=max; } if(max2<=max) { max2=max; System.out.println("当前最大子数组和:" + max2); stop=i+1; }else{ System.out.println("当前最大子数组和:" + max2); stop=i; } sign++; System.out.println("组成最大子数组的数为第"+ begin +"个数到第"+stop+"个数"); System.out.println("当前已检测"+ sign +"个子数组"); Thread.sleep(2000); } System.out.println("该数组最大子数组为" + max2); } }