我需要一种按以下方式工作的方法:如果我插入介于-10和10之间的任何值(如-3、5甚至0),则返回0;如果我插入介于10和30之间的数字,则将返回20。间隔始终为20,并且适用于任何数量的负数或正数。
TeddHope提示:
public class MyClass {
public static void main(String args[]) {
System.out.println(returnOfMidle(3)); //returns 0 ok
System.out.println(returnOfMidle(29)); // returns 1, must be 20
System.out.println(returnOfMidle(-19)); // returns 0, must be -10
}
public static int returnOfMidle(int number){
return (number+10)/20;
}
}
答案 0 :(得分:2)
这似乎符合要求
int CenterValue(int value)
{
int sign = value > 0 : 1 : -1;
return (Math.Abs(value) + 9) / 20 * 20 * sign;
}
更简单:
(int)Math.Round(value / 20.0) * 20