返回一个整数数组中最大子数组的和02 失败的尝试

我用了上次说的做法,我以为这样做可以的,但事实证明我错了

 1 import java.io.BufferedReader;
 2 import java.io.FileNotFoundException;
 3 import java.io.FileReader;
 4 import java.util.Scanner;
 5 
 6 public class t1 {
 7     public static void main(String[] args) throws FileNotFoundException {
 8         Scanner scanner = new Scanner(new BufferedReader(new FileReader("src\\input.txt")));
 9         scanner.useDelimiter(",");
10         int meter,n,m,peak=0,drop=0;
11         //System.out.println("请输入需要输入的整数个数:");
12         n = scanner.nextInt();
13         m = scanner.nextInt();
14         meter = m*n;
15         int point[] = new int[meter];
16         //System.out.println("请依次输入每一个整数...");
17         for(int z=0;z< meter;z++){
18             point[z] = scanner.nextInt();
19         }
20         for(int z=0;z<meter;z++){
21             if(z==0){
22                 peak = point[z];
23                 drop = point[z];
24             }else{
25                 if (drop<0){
26                     drop = point[z];
27                 }else{
28                     drop+=point[z];
29                 }
30             }
31             peak = (peak>drop)?peak:drop;
32         }
33         System.out.println("最大子数组之和为"+peak);
34     }
35 }

下面是运行结果

 

 从上面我也看不出是哪里的问题

posted @ 2022-03-17 23:09  SHINIAN200  阅读(32)  评论(0)    收藏  举报