【问题标题】:Difference between these two codes这两个代码之间的区别
【发布时间】:2018-06-12 20:03:26
【问题描述】:

这两个代码有什么区别?

第一个代码

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);
    }
}

---> 唯一的区别在于 MAXsum 声明中,那么两者有何不同?

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

【问题讨论】:

  • 设置原始值后立即打印出值,如果到那时你仍然看不到差异......

标签: java


【解决方案1】:

Integer.MIN_VALUE 是最小可能的数字,即负数。在测试用例中,总和可能为负数,并且 0 大于该数。所以返回 0 而不是负数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-02
    相关资源
    最近更新 更多