一维连续数组实现
1 import java.util.Scanner; 2 3 public class shuzu { 4 public static void main(String[] args){ 5 int number,maxsum;//定义2个整型 6 7 int a; 8 Scanner in = new Scanner(System.in);//输入 9 System.out.println("请输入数组大小"); 10 number=in.nextInt();//将输入值存于number· 11 int q=0; 12 for(q=0;q<number;q++) { 13 q+=q; 14 } 15 int array[]=new int[number];//由上述操作定义数组 16 System.out.println("请输入数组的值:"); 17 for(a=0;a<number;a++) { 18 array[a]=in.nextInt(); 19 } //数组定义完成 20 //查询最大数组 21 22 int i,j,k,p,u; 23 24 int max[]=new int [number]; 25 for(p=1;p<q;p++){ 26 for(i=0;i<number;i++){ 27 max[i]=array[i]; 28 k=array[i]; 29 for(j=i+1;j<number;j++){ 30 k=k+array[j]; 31 if(k>max[i]){max[i]=k;} 32 int l=i+1; 33 int o=j+1; 34 System.out.println("第"+i+"组,当前数组之和最大值为:"+k+",由第"+l+"个元素到第"+o+"个元素相加"); 35 36 // System.out.println("目前已检验到第"+p+"个连续子数组,共有"+q+"个连续子数组"); 37 // break; 38 } 39 } 40 } 41 42 int m=max[0]; 43 for(i=1;i<number;i++) 44 { 45 if(max[i]>m) 46 { 47 m=max[i]; 48 } 49 50 } 51 System.out.println("所有连续子数组和的最大值为:"+m); 52 53 54 } 55 }