這三個表達式也是同一個邏輯:判斷一個數的范圍是否在(0, 200)區間內,也應該把這個邏輯提取到一個函數中,去掉重復的邏輯,提高代碼的可重用性。
可重用性的好處:比如,現在用戶的需求改為了三條邊的取值范圍要改為[100,400],那么,按前面的思路來說,需要改3個地方,而現在只需要在一個函數里改1個地方,這就是代碼重用的好處。
3、條件7:a==b; 條件8:a==c; 條件9:b==c
這三個表達式的邏輯:判斷兩個數是否相等。也應該把它提取到一個函數中。
我們進一步來分析一下判斷是否是等邊三角形或等腰三角形的條件:
(1)前面程序的判斷是從最直觀的方式(a==b && b==c && a==c)(實際上只需要兩個表達式成立即可)三條邊都相等來判定是等邊三角形;(a==b || b==c || a==c)只有兩條邊相等來判定是等腰三角形。
(2)轉變一下思路:給定三個整數,然后用一個函數來判斷這三個整數有幾個相等,返回相等的個數,如果返回值等于3,那么它是等邊三角形,如果返回值是2,那么它是等腰三角形,否則,它是一般三角形(如果不是直角三角形的話)。
4、條件10:a2+b2==c2 條件11:a2+ c2== b2 條件12:c2+b2== a2
這三個條件的處理方式有兩種:
(1)跟前面三組分析一樣,把相同的邏輯提取到一個函數中,然后三次調用。
(2)根據直角三角形的特點:斜邊是最長的,所以我們可以事先寫一個函數來找到最長的邊,然后把它賦值給c,這樣處理之后,只需要一次調用判定(a2+b2==c2)的函數了。