软件工程结 对作业 01

              返回一个整数数组中最大子数组的和2

                                                        

一、实验题目

  返回一个整数数组中最大子数组的和2

二、实验要求

输入一个一维整形数组,数组里有正数也有负数。
  一维数组首尾相接,象个一条首尾相接带子一样。
  数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。

1.设计思想:用两个数组分别储存数字,然后在比较数组的大小及求和

 

2.源代码:

 

package qiuhe;

 

import java.util.*;

 

public class test {

 

public static void main(String[] args) {

// TODO Auto-generated method stub

 

System.out.println("请输入数组中数的个数");

Scanner scan=new Scanner(System.in);

 

int n=scan.nextInt();

System.out.println("输入数组:");

int []x=new int[n];

for(int i=0;i<n;i++)

{

x[i]=scan.nextInt();

}

 

int []y=new int[100];

y[0]=x[0];

System.out.println("输出子数组和:"+y[0]);

int k=y[0];

 

 

for(int j=1;j<n;j++)

{

 

y[j]=x[j]+y[j-1];

 

 

System.out.println("输出子数组和:"+y[j]);

if(y[j]>k)

{

k=y[j];

}

else

{

k=k;

}

}

 

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

}

 

}

 

posted @ 2017-07-03 13:33  伊人醉  阅读(138)  评论(0编辑  收藏  举报