【问题标题】:How to compare onle value of a two dimension int array?如何仅比较二维 int 数组的值?
【发布时间】:2020-06-07 17:02:51
【问题描述】:

我有一个二维 int 数组,我想比较第二个位置的 x 值(排在第一位的那个)。就像下面的代码:

COVER = new int[][] {{5, 3}, {10, 9}};
EXAM = new int[][] {{8, 4}, {14, 10}};

我想将 COVER [1][我不想比较这里的任何值] 与 EXAM [1][与 COVER 相同]。

有没有办法做到这一点,或者我应该使用具有四个位置的普通 int[] 数组?

我选择二维数组是因为练习是关于二维地图的,我认为这更适合代码。

所以我真正的问题是如何比较两个值,我应该在第二个 [] 中输入什么,或者有没有办法取出这些值?请帮忙。

谢谢。

【问题讨论】:

  • 无法联系到您,能否请您再解释一下您的问题。您想比较哪些值?
  • 还请举例说明您要比较的数字。基于您的COVEREXAM
  • COVER[1]{10,9}EXAM[1]{14,10}。您的意思是要比较 10 和 14 吗? 9号和10号?你这样做是为了什么?这些职位代表什么?
  • 我想比较 10 和 14,但想象一下我不知道它们的值是什么
  • 所以你想比较COVER[1][0](恰好是10)和EXAM[1][0](恰好是14)?好吧,您只需在它们之间放置一个比较运算符。

标签: java arrays int compare


【解决方案1】:

如果我没有错,并且我以正确的方式理解了问题,那么您可以按照以下代码来解决您的问题。

public class ArrayComparison {

     public static void main( String[] args ) {
        int COVER[][] = new int[][] {{5, 3}, {10, 9}};
        int EXAM[][] = new int[][] {{8, 4}, {14, 10}};
        for(int i = 0; i < 2; i++) {
            for(int j = 0; j < 2; j++) {
                if(COVER[i][j] == EXAM[i][j]) {
                    System.out.println(COVER[i][j]+ " is present at same place in second array.");
                }
                else
          System.out.println(EXAM[i][j]+" is not present at same place in second array.");

            }
        }
     }
}

在上面的解决方案中,我为第一个维度使用了两个循环“i”,为第二维使用了“j”,首先循环将运行 i=0,然后它将进入“j”循环,它将运行两次,因为在第二维中只有两个值,即它将同时为 EXAM 数组运行 COVER[0][0] 和 COVER[0][1] 并将检查值是否存在于在第二个数组中是否存在相同的位置,如果它存在,那么它将打印“数字存在于同一位置”,否则它将打印“数字不存在于同一位置”之后,'i'循环将运行 i= 1 和之后的剩余过程将与以前相同。 如果您仍有疑问,您可以再次提出疑问。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-17
    • 1970-01-01
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多