我不擅長英文,因此標題可能會令人困惑。從數組中找到最接近的整數向上取整
我想要做的事:
我有一個int數組10, 20, 30
,我想基於number
可變
如果int number = 10;
我想要的結果,從它取號從「方法」變爲20
if 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];
}
我該怎麼做?
'如果項目內容規模爲19,庫存大小應該是27,不是18,這是我的problem.' ...你解釋的邏輯是沒有意義的話,因爲'19'應該'對待20',比'27'更接近'18'。如果你想得到答案,你需要清楚地表達你的邏輯。 –
它是有道理的。如果商品尺寸是「19」 - 我想要**更大**庫存尺寸,在這種情況下是「27」。由於我正在改裝的遊戲,我無法擁有庫存大小= 20。它必須是'9,18 ...'; p 當物品大小爲「19」時,庫存大小等於'18'不是一個好主意。一件物品會消失。 – SocketByte