[ad_1]
この方法では、場所間の距離に基づいて最も近いアシスタントを返します。 ただし、これが機能する方法では、減算の2つのオペランドがたまたま一方の方向である場合、距離が負の数になる可能性があります。 そして、正の同等物が必要ですが、これをコーディングする方法がわかりません。
私が試したこと:
Java
<pre>public Assistant findNearestAvailable(int location) { Iterator<Assistant> it = assistants.iterator(); Assistant nearestAssistant = null; int nearestDistance = Integer.MAX_VALUE; int nearestID = Integer.MAX_VALUE; while(it.hasNext()) { Assistant assistant = it.next(); if(assistant.isAvailable()) { int distance = location - assistant.getLocation(); if(distance < nearestDistance){ nearestDistance = distance; nearestAssistant = assistant; } else if(){ } else if(distance == nearestDistance){ if(identity < nearestID){ nearestID = identity; nearestAssistant = assistant; } } } } return nearestAssistant; }
解決策 1
を見てください Java – abs() メソッド[^]
解決策 2
交換
見積もり:int 距離 = 場所 – assistant.getLocation();
と
Java
int distance = Math.abs(location - assistant.getLocation());
[ad_2]
コメント