1 package 数组; 2 import java.util.Arrays; 3 import java.util.Scanner; 4 public class Sum { 5 6 public static void main(String[] args) { 7 // TODO 自动生成的方法存根 8 Scanner sc = new Scanner(System.in); 9 System.out.print("输入数组个数:"); 10 int n = sc.nextInt(); 11 System.out.print("输入数组:"); 12 int a[] = new int[n]; 13 for(int i=0; i<n; i++) 14 { 15 a[i] = sc.nextInt(); 16 } 17 sc.close(); 18 String intArrayString = Arrays.toString(a); 19 System.out.println(large(a,n)); //打印最大子数组 20 21 } 22 private static int max(int a,int b) { 23 if(a>b) return a; 24 else return b; 25 } 26 private static int large(int a[],int n) { 27 int max=a[0]; 28 int max2=0; 29 for (int i= 0; i< n; i++) 30 { 31 max2=max(max2+a[i],a[0]); //几个连续最大的值 32 max=max(max,max2); //目前为止最大值 33 } 34 return max; 35 } 36 37 38 }