练习2:给定一个数组arr,返回子数组的最大累加和
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
//给定一个数组arr,返回子数组的最大累加和
System.out.println("输入给定数组,格式要求(每个元素之间使用“,”隔开)");
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
String[] arr = s.split(",");
int[] arr1 = new int[arr.length];
for (int i = 0; i < arr.length; i++) {
arr1[i] = Integer.parseInt(arr[i]);
}
int num = 0;
for (int i = 1; i < arr1.length; i++) {
if (arr1[i]+arr1[i-1] >arr1[i]){
num+=arr1[i-1];
}
if ((i==arr1.length - 1)&&arr1[i] > 0) {
num += arr1[i];
}
}
System.out.println(num);
}
}
结果:
输入给定数组,格式要求(每个元素之间使用“,”隔开)
9,-8,5,-5,2,-3,-4
16
Process finished with exit code 0