package 单步数组;
import java.util.Scanner;
public class shuzu {
public static void main(String[] args) {
//定义一个数组
int s[]=new int[5];
int a=0;
int amax = 0;
int max=0;
for(;a<5;a++) {
//键盘输入5个数
Scanner in=new Scanner(System.in);
System.out.println("请输入数:");
s[a]=in.nextInt();
}
//找子数组并相加比较数组和的大小直到找到最大值输出
for(int b=0;b<4;b++){
int sum=0;
int asum=s[b];
for(int i=1;b+i<5;i++) {
sum=asum+s[b+i];
if(b==0) {
max=sum;
}else
{
if(sum>max) {
max=sum;
}
}
asum=sum;
if(b==0) {
System.out.println("第"+i+"步");
System.out.println("当前数组和最大值为:"+asum+" 已经比较了:"+i+"个子数组 最大子数组是由第 1 个到第 "+(i+1)+"个");
}else if(b==1){
System.out.println("第"+(i+4)+"步");
System.out.println("当前数组和最大值为:"+asum+" 已经检查了:"+(4+i)+"个子数组 最大子数组是由第 2 个到第"+(i+2)+"个");
}else if(b==2) {
System.out.println("第"+(i+7)+"步");
System.out.println("当前数组和最大值为:"+asum+" 已经检查了:"+(7+i)+"个子数组 最大子数组是由第 3 个到第"+(i+3)+"个");
}else if(b==3) {
System.out.println("第"+(i+9)+"步");
System.out.println("当前数组和最大值为:"+asum+" 已经检查了:"+(9+i)+"个子数组 最大子数组是由第 4 个到第"+(i+4)+"个");
}
}
if(b==0){
amax=max;
}else
{
if(max>amax){
amax=max;
}
}
}
System.out.println("数组最大和为:"+amax);
}
}
![]()