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; 
     }