最大连续子数组和的问题

1、思路:

  利用random函数产生一个随机数组;

  利用指针完成

2、代码

  package qiuhe;

import java.util.Random;

import java.util.Scanner;

 

public class Add 

{

 

 

public static void main(String[] args) 

 {

Scanner input =new  Scanner(System.in);

System.out.print("输入此随机数组个数:");

int num1=input.nextInt();

Random a=new Random();

int[] array1=new int [num1];

System.out.print("生成的该数组为:");

for(int i=0;i<num1;i++)//共有num1个数

    {

 array1[i]=a.nextInt(1000)-500;

     System.out.print(array1[i]+"  ");

    }

int sum=0,max=0;

System.out.println("最大连续子数组的元素为:");

for(int j=0;j<num1;j++)

{

sum=sum+array1[j];

if(sum<0)

sum=0;

else

{

if(sum>max)

max=sum;

}

System.out.print(array1[j]+"  ");

}

System.out.println("最大数组和为:"+max);

}

 

}

4、反思

   刚开始自己想着用c指针的思想完成,但是最后还是没弄出来,最后还是转到java

 

posted @ 2015-03-25 16:52  嘴角上扬的马先生  阅读(171)  评论(1编辑  收藏  举报