2011-10-08 89 views

回答

2

您可以使用下列內容:

Math.abs(a - b) 
1

Math類提供了一些方法,可以爲你做的,或者你可以做的值那樣的簡單交換:

public int sub(int firstNumber, int secondNumber) { 

    if(firstNumber < secondNumber) { 
     int temp = secondNumber; 
     secondNumber = firstNumber; 
     firstNumber = temp; 
    } 
    return firstNumber - secondNumber; 
} 
+0

如果if條件爲「true」,返回'secondNumber - firstNumber'會不會更簡單?爲什麼用'temp'換掉? – CrackerJack9

+0

@ CrackerJack9有很多方法可以實現,我只是提供一種可能性。我只是創建一個新的變量,而不是兩個「if」,我想這只是一個選擇問題。 – talnicolas

+0

@tolnicolas你仍然不需要兩個'if's,只是減去每個方向的不同方向。如果它們是平等的,那麼它們走哪條路都沒有關係,因此創建一個新變量的效率低得多。 – CrackerJack9

3

。減去兩者並返回絕對值

9

我會使用類似的東西:

public int sub(int firstNumber, int secondNumber) { 
    return Math.max(firstNumber, secondNumber) - Math.min(firstNumber, secondNumber); 
} 

或:

public int sub(int firstNumber, int secondNumber) { 
    return Math.abs(firstNumber - secondNumber); 
} 
1
 public int sub(int a, int b) { 
      if(a > b){ 
      return a - b; 
      } 
      else if (b > a) { 
      return b - a; 
      } 
      else return 0; 
     }