引子故事:
今天天氣晴朗,天上下着冰雹,正是寫代碼的好時光。
公司領導對一羣Java實習生組織了一個考覈,題目如下:
設計一個程序輸入任意一個數字,輸出該數字的整數部分。
考覈時間:下班前完成。
實習生們都覺得這很簡單,馬上開幹,實習生四毛一個五分鐘就完成了程序的編輯,而實習生九毛第二天中午十一點五十九 分就完成了,他們都根據考覈要求在下班前完成了這次考覈任務,把代碼交給了領導查驗。對於按時完成考覈,他們應該得到獎勵,獎勵一朵小紅花:
領導看了四毛的代碼,感到非常生氣!然後給九毛漲了一塊錢工資。他們的成績如下:
我們再來看看他們寫的代碼,先看看四毛的:
...公司要求保密省略一部分...
System.out.println("請輸入一個任意數字:");
...公司要求保密省略一部分...
int i = (int)Double.parseDouble(scan.next());
System.out.println("您輸入的數字的整數部分爲:"+i);
...公司要求保密省略一部分...
輸入-1.5,竟然輸出的是-1!正確的值應該是-2。
再來看看九毛的代碼:
...公司要求保密省略一部分...
System.out.println("請輸入一個任意數字:");
...公司要求保密省略一部分...
int i = Math.floor(Double.parseDouble(scan.next()));
System.out.println("您輸入的數字的整數部分爲:"+i);
...公司要求保密省略一部分...
輸入-1.5,輸出的是-2,正確!
四毛自己去實現一個取整方法,這種方法估計不少人曾經用過來取整,中招的在評論區舉個手嗎?
java.lang.Math提供了很多數學相關方法,非常強大,建議還是不要造輪子,用經過大量測試成熟的方法去寫代碼降低BUG發生的機率。
最後我們再來看看Math裏和這次考覈相關的方法:
數學意義上的取整數部分:Math.floor(-1.5)=-2
四捨五入取整:Math.rint(-1.5)=-2
進位取整:Math.ceil(-1.1)=-1
歡迎評論點贊!您的支持是我創作的動力!感謝支持!
歡迎關注公衆號“程序員轉管理”獲取更多優質文章