整数数组中子数组的最大值

1.设计思路

    设置一个子数组的和temp,和一个最大值max两个变量,依次遍历数组中的数从下表为0开始,将子数组和赋值到temp中,最大值先设为数组中第一个数;

    max={temp,max},如果temp<0,将temp=0;temp加一个负数会小于本身,加一个正数大于本身。最后得出的max为最大值。

2.程序代码

package 整数数组中的最大值;
import java.util.*;
public class ArrayMax {
    public static void main(String args[])
    {
        int number[]=new int[5];
        @SuppressWarnings("resource")
        Scanner scanner=new Scanner(System.in);
        int n;
        System.out.println("请输入你要输入的个数:");
        n=scanner.nextInt();
        System.out.println("请输入要输入的数:");
        for(int i=0;i<n;i++)
        {
            number[i]=scanner.nextInt();
        }
        int max=number[0];
        int temp=number[0];
        for(int i=1;i<5;i++)
        {
            if(temp<0)
            {
                temp=0;
            }
            temp+=number[i];
            if(temp>max)
            {
                max=temp;
            }
        }
        System.out.println("子数组最大值为:"+max+"。");
    }

}

3。运行结果

.

 

posted @ 2016-04-08 18:11  天中之云  阅读(190)  评论(0编辑  收藏  举报