课堂作业02

设计思路:(1)定义两个变量分别是数组和sum,和最大字数组和maxsum;

                (2)把数组第一个元素值赋给sum和maxsum;

               (3)如果sum<0;就把sum=0(一个数加上一个负数小于它本身)

               (4)如果sum>maxsum;maxsum=sum;

   源代码:

import java.util.Scanner;
public class MaxOfSubArray {
	public static int max(int arr[])
	{
		int sum=arr[0];
		int maxsum=arr[0];
		for(int i=1;i<arr.length;i++)
		{
			if(sum<0)
			{
				sum=0;
			}
			sum+=arr[i];
			if(sum>maxsum)
			{
				maxsum=sum;
			}
		}
		return maxsum;
	}
	public static void main(String[] args)
	{
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入数组长度:");
		int n=sc.nextInt();
		int arr[]=new int[n];
		System.out.println("请输入数组元素:");
		for(int i=0;i<n;i++)
		{
			arr[i]=sc.nextInt();
		}
		System.out.println("子数组的最大和:"+max(arr));
	}
	}

 

 

posted @ 2016-04-08 16:59  蝈蝈gl  阅读(120)  评论(0)    收藏  举报