一维连续数组实现

 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 }
View Code

 

posted @ 2019-04-25 20:55  夜神风  阅读(110)  评论(0编辑  收藏  举报