【解決方法】正の等価物を取得する


この方法では、場所間の距離に基づいて最も近いアシスタントを返します。 ただし、これが機能する方法では、減算の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());

コメント

タイトルとURLをコピーしました