设计思想:1、定义一个数组,先设置循环输入数组的值,
2、在设置一个循环,定义一个整型变量w并初始化为0,依次相加,w等于相加的和,如果相加的值小于0,则w等于这个子数组的下一个数,如果没有出现小于0的情况则一直相加,
3、再定义一个整型变量sum并初始化为0,如果sum小于b的值,则令其等于w,最后输出sum即最大子数组的值
可能出现的问题:如果输入的结果全为负数,最后结果是0
解决方案:sum初始化为shuzu[0]
源代码:
1 import java.util.Random; 2 import java.util.Scanner; 3 4 5 import java.util.*; 6 public class Test { 7 8 public static void main(String[] args) { 9 // TODO 自动生成的方法存根10 int []shuzu=new int[10];11 12 int i;13 for(i=0;i<10;i++)14 {15 System.out.println("请输入第"+(i+1)+"个值");16 Scanner input=new Scanner(System.in) ;17 shuzu[i]=input.nextInt();18 19 }20 int w=0;21 int sum=shuzu[0];22 23 for(i=0;i<10;i++)24 {25 if(w<0)26 {27 w=shuzu[i];28 }29 else30 {31 w+=shuzu[i];32 }33 if(sum
结果截图: