我不擅长英语,所以标题可能令人困惑。
我想做的事情:
我有一个int数组10, 20, 30
,我想根据number
变量
如果int number = 10;
我想要"方法的结果"是20
如果int number = 21;
我希望结果为30
我不知道如何正确解释这一点,但我希望这是可以理解的。
这是为了什么?我有一个可以有不同尺寸9, 18, 27, 36, 45, 54
的玩家库存,我有一个项目内容,例如5
。所以我希望库存大小为9
。如果商品内容尺寸为19
,则广告资源尺寸应为27
,而不是18
。这就是我的问题。
我尝试了很多不同的迭代计算,但每次尝试都非常不成功。 我有这种方法从阵列中获得最接近的值,但我不知道如何将其更改为四舍五入。
public int getClosestInteger(int value, int[] numbers) {
int distance = Math.abs(numbers[0] - value);
int id = 0;
for (int i = 1; i < numbers.length; i++){
int dist = Math.abs(numbers[i] - value);
if(dist < distance){
id = i; distance = dist;
}
}
return numbers[id];
}
我该怎么做?
答案 0 :(得分:0)
如果我理解你的问题,这应该有效:
public int getClosestInteger(int value, int[] numbers) {
for (int i = 0; i < numbers.length; i++){
if(value < numbers[i]){
return numbers[i];
}
}
}
答案 1 :(得分:0)
它应该有用。
for (int i = 0; i < numbers.length; i++){
if(numbers[i] > value){
System.out.println(numbers[i]);
break;
}
}