这两个代码之间的区别

时间:2018-01-03 06:41:01

标签: java

这两个代码之间有什么区别?

第一个代码

import java.io.*;
import java.util.*;

import java.math.*;


public class Solution {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int arr[][] = new int[6][6];
        int MAXsum = Integer.MIN_VALUE;
        for(int i=0; i < 6; i++){
            for(int j=0; j < 6; j++){
                arr[i][j] = in.nextInt();
            }
        }

        for(int i = 1;i<=4;i++)
        {
            int sum = 0;
            for(int j = 1; j<=4;j++)
            {

                sum = arr[i][j] + arr[i-1][j-1] + arr[i-1][j] + arr[i-1][j+1] + arr[i+1][j-1] + arr[i+1][j] + arr[i+1][j+1];

                if(sum > MAXsum)
                    MAXsum = sum;
            }
        }

        System.out.println(MAXsum);
    }
}

第二段代码

import java.io.*;
import java.util.*;

import java.math.*;


public class Solution {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int arr[][] = new int[6][6];
        int MAXsum = 0;
        for(int i=0; i < 6; i++){
            for(int j=0; j < 6; j++){
                arr[i][j] = in.nextInt();
            }
        }

        for(int i = 1;i<=4;i++)
        {
            int sum = 0;
            for(int j = 1; j<=4;j++)
            {

                sum = arr[i][j] + arr[i-1][j-1] + arr[i-1][j] + arr[i-1][j+1] + arr[i+1][j-1] + arr[i+1][j] + arr[i+1][j+1];

                if(sum > MAXsum)
                    MAXsum = sum;
            }
        }

        System.out.println(MAXsum);
    }
}

---&gt; 唯一的差异是在MAXsum声明中然后两者之间的差异如何?

注意: 第一个代码成功运行所有测试用例,第二个代码不运行所有测试用例。

1 个答案:

答案 0 :(得分:1)

Integer.MIN_VALUE是最不可能的数字,否定。在测试用例中,总和可能是负数,0则大于该值。因此返回0而不是负数。