我想建立一個方法,輸出1000
如果輸入數字是數千(如3458
),100
如果輸入數字是幾百等等。這可能嗎?Java(數百,數千等)
回答
當然這是可能的。你爲什麼不發佈你的嘗試,我們可以告訴你如何解決任何問題。
正如史蒂夫說,它可能是一個好主意,給它一點嘗試自報家門,然後來到SO與特定問題(即「我做X,這是我的代碼,爲什麼不ÿ發生? 「)。然而,作爲一個小提示,假設你有純數字輸入(也就是說,它總是隻是一串數字,沒有「,」或類似的東西),你實際上可以使用字符串來完成工作 - 不需要使用數字類型(int等)...
(好吧,考慮一下,最後可能會有一個小數學計算,以獲得'100'或'1000'的最終結果「等等,但不多)
簡單的數學:
Math.pow(10, Math.floor(Math.log(n)/Math.log(10))) // for given n
注意:僅適用於正數。 – 2010-08-15 10:25:55
的確,只有積極的。 – 2010-08-15 11:59:03
要擴大WHA牛逼尤瓦提供的,如果你不關心數字的符號(也就是,比如說輸入值3456和-3456應該都返回1000),你可以使用輸入的絕對值:
return Math.pow(10, Math.floor(Math.log(Math.abs(n))/Math.log(10))); // for input n
如果你想處理所有可能的數值輸入,你也可以做你的計算前處理零值:
if (n == 0) // for input n
return 0;
return Math.pow(10, Math.floor(Math.log(Math.abs(n))/Math.log(10))); // for input n
數(0)是不確定的,所以你不要想如果n == 0,執行計算。你會得到一個有趣的答案(如果你甚至得到一個答案......我沒有運行這個代碼)。鑑於你提供的問題的描述,我認爲當輸入爲0時返回0是有意義的。零不在數千或數百或數十或數 - 在整數中,它是它自己的類別。所以你可以返回0.或者你可以拋出一個異常。
環路可以用來避免使用雙和最終的舍入問題(如果變換結果int
)。
循環變量從1開始是乘以10每次通過而(下一個)的結果是小於輸入的號碼。
負值和零值輸入需要特殊處理。
+1爲積分數學解。比嘗試使用公式更加優雅(至少對於這種類型的問題)。 – helios 2010-08-25 07:33:18
它不花哨,但它簡單易讀。
private static void homework(int n) {
if (n > 9999) {
System.out.println("Really big");
} else {
if (n <= 99) {
System.out.println("Really small");
} else if (n <= 999) {
System.out.println("Hundred");
} else if (n <= 9999) {
System.out.println("Thousand");
} else {
System.out.println("How did this get here? I'm not good with computer!");
}
}
}
- 1. 將數字細分爲數千,數百等
- 2. 替代數百/數千條if語句
- 3. 查找數百/千/數萬數字的JavaScript
- 4. 數千TIME_WAIT儘管SO_LINGER,關機等
- 5. QlikView:顯示數百萬標籤而不是數千
- 6. 閱讀成千上萬的文件並寫入數百萬的Java文件
- 7. 在JavaScript中縮小數千(1k)和數百萬(1m)的本地化數字
- 8. Java sqlite執行數千個查詢
- 9. 高效比較數千個文件Java
- 10. 格式化爲K(千),M(百萬)在閃亮的數據表
- 11. 有效地迭代和存儲數以千計/數百萬個對象
- 12. Javascript更新爲HTML表格單元格(從數千到數百萬)
- 13. MySQL(MariaDB)浮點可視化:爲什麼值被舍入到數百或數千?
- 14. Java等待函數
- 15. 編輯數千XML數據
- 16. 'all'的java整數同等
- 17. Java InputStream等待數據。
- 18. Java數組總是等於
- 19. 劃分數千個字段
- 20. 用ggplot繪製數千行
- 21. Neo4j的數千邊緣
- 22. Firebase.on的密集程度如何?我可以設置數千到數百萬的數據嗎?
- 23. 關於將數字拆分爲數千
- 24. MySQL數據庫擁有數千臺
- 25. 最大千位數的圓整數
- 26. 分組數千格式 - 從txt數組
- 27. Java鞦韆遊戲板
- 28. Java:結合數組中的計數以獲得百分比
- 29. 在Java中生成數百萬個非重複的隨機數
- 30. 如何獲取的記錄數千萬快捷,使用Java
這是一個功課題嗎? – 2010-08-15 10:05:14