gpt4 book ai didi

java - 检查整数的最简单方法是 +1 或 -1 Java

转载 作者:行者123 更新时间:2023-12-01 18:36:13 25 4
gpt4 key购买 nike

我想要两个整数之间的差是+1或-1。我认为我下面的代码写起来非常笨拙。有没有更短的方法来检查两个整数是否仅相距 1?这似乎是一个简单的解决方案,但我有二维坐标数组,我想检查是否选择了彼此直接相邻的两个坐标(北、东、西或南)

是的,它们是标准坐标,左上角是 0,0,右下角是 7,7。本质上,如果选择了一个坐标,我想检查是否存在另一个坐标,其中 x 或 y 相差 (+-) 1。

//Since it's a 2d array, I am doing a nested loop. But comparison is below

int x1 = range(0,8); //all ints are range from 0 to 7
int y1 = range(0,8); //represent the current indices from the loop

int x2 = ...; //x2 represents the x index value of the previous loop
int y2 = ...; //y2 represents the y index value of the previous loop

if(x1+1 == x2){
Found an existing X coord just larger by one
}else if (x1-1 == x2){
Found an existing X coord smaller, and differ by one
}else if(y1+1 == y2){
Found an existing Y coord just 1 larger
}else if(y-1 == y2){
Found an existing Y coord just 1 smaller
}

最佳答案

由于我们不关心x1和x2之间的差是1还是-1,所以我们可以使用绝对值:

if (Math.abs(x1 - x2) == 1){
// x coordinates differ by 1
} else if (Math.abs(y1 - y2) == 1){
// y coordinates differ by 1
}

这是有效的,因为如果 x1 小于 x2,则 Math.abs(x1 - x2) = Math.abs(-1) = 1.

关于java - 检查整数的最简单方法是 +1 或 -1 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21915569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com