Java if语句,其中x可以等于一系列数字/一系列数字?

Java if语句,其中x可以等于一系列数字/一系列数字?,java,if-statement,range,Java,If Statement,Range,试图为组合锁编写一个程序,如果输入的数字与正确的数字相差不超过3个数字,则表示锁已打开。(即,如果锁组合的第一个数字为5,则当有人输入2、3、4、5、6、7或8时,它将表明锁已打开。) 这是我目前掌握的代码 (如果您想知道为什么会有第二个+第三个输入,我只是想弄清楚如何让程序识别当前第一个数字是否正确。) 这就是你可以做到的: If (first <= lock + 3 && first >= lock - 3) //do something If(firs

试图为组合锁编写一个程序,如果输入的数字与正确的数字相差不超过3个数字,则表示锁已打开。(即,如果锁组合的第一个数字为5,则当有人输入2、3、4、5、6、7或8时,它将表明锁已打开。)

这是我目前掌握的代码 (如果您想知道为什么会有第二个+第三个输入,我只是想弄清楚如何让程序识别当前第一个数字是否正确。)


这就是你可以做到的:

If (first <= lock + 3 && first >= lock - 3)
    //do something
If(first=lock-3)
//做点什么

假设
Lock
是示例中的“5”,并且
首先是您愿意检查的输入。

您可以这样做:

If (first <= lock + 3 && first >= lock - 3)
    //do something
If(first=lock-3)
//做点什么

假设
Lock
是示例中的“5”,并且
first
是您愿意检查的输入。

您可以使用
first-Lock
的绝对值(或者
Lock-first
,根据您的喜好)检查差值是否在3的范围内


if(Math.abs(first lock)您可以使用
first-lock
(或
lock-first
,根据您的喜好)的绝对值来检查差值是否在3的范围内


如果(Math.abs(first lock)今天不能再投票了,但这确实值得一次投票)你能用文字解释一下这段代码吗?我对编码非常陌生,如果我将来不得不使用它,对这段代码的解释会非常有帮助。
Math.abs()
返回传递给它的参数的绝对值,然后您希望首先处于+3/-3锁定范围内,因此如果
lock
first
之间的差值小于3,您就可以开始了。谢谢@xoxel。实际上,目的是计算距离,而不必检查正距离和负距离绝对值的作用是()今天不能再投票了,但这确实值得投票(x)你能用文字解释一下这段代码吗?我对编码非常陌生,如果我以后必须使用它,对它的解释将非常有用。
Math.abs()
返回传递给它的参数的绝对值,然后首先要在+3/-3锁定范围内,因此,如果
lock
first
之间的差异小于3,您就可以开始了。谢谢@xoxel。实际上,它的目的是计算距离,而不必检查正距离和负距离。绝对值就是这样做的()如果
第一个
是2或8,这不会通过
如果
语句。老实说,我不明白为什么,你能解释更多吗?:)如果
first
是2,那么:
first>锁定-3
=>
2>5-3
=>
2>2
=>
false
。哇!谢谢,我不确定它是否有用,因为伯杰给出了一个更好的答案,但我将编辑我的答案,以防万一,
=
应该解决这个问题……如果
第一个
是2或8,这不会通过
如果
语句。老实说,我不明白为什么,你能解释更多吗?:)如果
first
是2,那么:
first>锁定-3
=>
2>5-3
=>
2>2
=>
false
。哇!谢谢,我不确定它是否有用,因为伯杰给出了一个更好的答案,但我会编辑我的,以防万一,
=
会解决这个问题。。。。
if(Math.abs(first-lock)<=3)