当前位置: 首页 > 知识库问答 >
问题:

函数检查对象坐标以查看它们是否在同一个位置

傅振濂
2023-03-14
private static boolean checkObjects(int[][] allObjects){
        int upperBound = allObjects.length;
        for(int i = 0; i < upperBound -1 ; i++){
            if(allObjects[i] == allObjects[i+1]){
                return true;
            }
        }
        return false;
    }

共有1个答案

印振国
2023-03-14

java中的数组是相当低级的东西。您可能应该在这里使用它们(这是一个游戏,list int[]效率低得多。也许Project Valhalla会改变这一点,但PV进入主java需要相当长的时间,所以这不是解决方案,您可能等不起)。但是,要意识到这一点。

它们是物体。因此,allobject[i]返回i位置的int[]是一个对象引用,而对象引用之间的==只是比较引用。

想象一份报纸。我是报童,因此我手里有两份相同的报纸。我把它们两个都给你看,然后问你:嘿,这两个相等吗?

    null
int[] a = new int[] {1, 2, 3};
int[] b = new int[] {1, 2, 3};
System.out.println(a == b); // prints false
System.out.println(Arrays.equals(a, b)); // prints true
    null

这似乎与你所写的不符。你说:

因此,我试图编写一个函数来检查是否所有的游戏对象都不具有相同的位置。

如果要检查是否所有对象都相同,请翻转循环。如果任何连续的对不相等,您希望立即返回false,并且在循环结束时返回true;,只有当每个对的比较都得出结论:这2个是相等的时,您才会这样做。

 类似资料:
  • 问题内容: 我需要比较两个Dates(例如和),并得出在同一天两个相同的true,如果不是,则返回false。 我怎样才能做到这一点?这里似乎有混乱的旋风……而且我想尽可能避免引入除JDK之外的其他依赖项。 需要说明的是:如果并且共享相同的年,月和日,则为true,否则为false。我意识到这需要了解时区…传入时区会很好,但是只要我知道行为是什么,我就可以使用GMT或本地时间。 再次澄清: 问题答

  • 简而言之,我再次在网上找到了这个任务: 从键盘上输入整数,检查是否是质数。当你输入0时,程序结束。 到目前为止,我编写了检查整数是否为素数的逻辑。主要的问题是,我应该从一个字符串中读取几个整数,如果最后一个整数是0,就停止程序。所以,当我尝试添加循环来迭代输入并检查它们是否为整数素数时,我的逻辑不起作用,它只返回1个整数,没有其他整数。如果您有任何建议或批评,我将不胜感激,谢谢。

  • 问题内容: 给定一个整数,如何使用Java检查它是否包含0? 如何才能做到这一点? 问题答案: 您是说小数表示形式是否包含0?绝对 最简单的 方法是: 别忘了一个数字并不“固有地”包含一个0或不包含0(当然,零本身除外)-它取决于底数。因此,十进制的“ 10”是十六进制的“ A”,而十六进制的“ 10”是十进制的“ 16”……在两种情况下,结果都会改变。 在整数的十进制表示形式中,可能有更有效的方

  • 简而言之,我再次在网上找到了这个任务: 从键盘上输入整数,检查是否是质数。当你输入0时,程序结束。 到目前为止,我编写了检查整数是否为素数的逻辑。主要的障碍是,我应该从一个字符串中读取几个整数,如果最后一个整数是0,则停止程序。因此,当我试图添加一个循环来迭代输入并检查整数是否为素数时,我的逻辑不起作用,它只返回1个整数,没有其他整数。

  • 嗨,我正在尝试解决Udemy练习:编写一个名为hasSharedDigit的方法,其中包含int类型的两个参数。 每个数字应在10(含)-99(含)之间。如果其中一个数字不在范围内,则该方法应返回false。 如果两个数字中都有数字,例如12和23中的2,则该方法应返回true;否则,该方法应返回false。 我一直在得到真实,而有共享数字(9,99)我无法发现为什么.. }

  • 我有两个arraylist。employee类和user类的ArrayList。employee类将name、age、address作为字段。用户类将名称、年龄、地址作为字段。下面是两个列表 要检查用户是否和员工的地址相同。如果用户没有地址,则从员工处复制。