程序写入输入
package didi;
public class MaxSubSum {
public static void main(String[] args) {
int[] a={-23,17,-7,11,-2,1,-34};
System.out.println(max(a));
}
private static int max(int[] a) {
int maxSum=0;
int thisSum=0;
for(int anA:a){
thisSum+=anA;
if (thisSum>maxSum) {
maxSum=thisSum;
}else if (thisSum<0) {
thisSum=0;
}
}
return maxSum;
}
}
键盘写入输入
package didi;
import java.util.Scanner;
public class MaxSubSum {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
String[] data=in.nextLine().split(" ");
int[] input_data=new int[data.length];
for (int i = 0; i < data.length; i++) {
input_data[i]=Integer.valueOf(data[i]);
}
System.out.println(max(input_data));
}
private static int max(int[] array) {
int maxSum=array[0];//存放最大值
for(int i=0;i<array.length;i++){
int thisSum=0;
for (int j = i; j < array.length; j++) {
thisSum+=array[j];
if (thisSum>maxSum) {
maxSum=thisSum;
}
}
}
return maxSum;
}
}