私は英語が良くないので、タイトルが混乱する可能性があります。切り上げられた配列から最も近い整数を見つける
私は何をしようとしている:私は結果が欲しいint number = 10;
場合、私はint配列10, 20, 30
を持っていると私はnumber
変数
に基づいて、それから数値を取りたい
「方法」から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];
}
どうすればいいですか?
'、在庫サイズは27、ではない18であるべきで、それは私のproblem.'だ'として扱われるべきである19' 'ので...あなたの説明ロジックは、その後、意味がありません20 'であり、' 27 'より' 18 'に近い。答えが必要な場合は、論理を明確に明確にする必要があります。 –
意味があります。アイテムのサイズが「19」の場合、**このサイズのインベントリサイズは大きいです。この場合は「27」です。私はmoddingしているゲームのために 'inventory size = 20'を持つことはできません。 '9、18 ...'である必要があります; p teアイテムサイズが19の場合、在庫サイズが '18'であることはお勧めできません。 1つのアイテムが消えます。 – SocketByte