软件工程结 对作业 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);
}
}