2010-04-23 77 views
1

如何在java中获取数字范围?例如,如何验证2400内的10个数字中的2389个数字。其不是2389个。在java中查找数字范围

确定这里是另一种方式:

编号1000范围编号990的循环正在添加,我返回true,因为990和1000之间是10号性差异。

在接下来的数字989范围总是1000,我返回错误,因为989和1000之间是11个数字的差异。

在接下来的数字1013范围总是1000,我返回false,因为1013和1000之间是13个数字差异。

+0

是2389个加/减10大/小/等于2400 - 应该很容易转换为Java。或者2400和2389之间的差异超过+/- 10? – Anonym 2010-04-23 15:00:52

回答

2

可以使用绝对值和Math.abs(num1-num2) <= 10

+0

小心:Math.abs(Integer.MAX_VALUE - Integer.MIN_VALUE)== 1 – 2010-04-23 23:49:27

1
public boolean isWithinRange(int number, int around, int range){ 
    int difference = Math.abs(around - number); 
    return difference <= range; 
} 
+0

Math.abs是做什么的? – 2010-04-23 15:01:55

+1

@Gandalf:http://java.sun.com/javase/6/docs/api/java/lang/Math.html#abs(double) – 2010-04-23 15:04:02

+0

@Gandalf:它返回数字的绝对值。所以问题是,数字的绝对价值是多少?简单来说,它是正数形式的数字(如果数字已经是正数,那么它是相同的数值,如果数字是负数,则它是否定的,因此它是正数)。 abs(5)== 5,abs(-123)== 123 – DaveJohnston 2010-04-23 15:13:48