溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中分數(shù)到小數(shù)的示例分析

發(fā)布時間:2022-01-17 14:18:31 來源:億速云 閱讀:202 作者:清風 欄目:大數(shù)據(jù)

這篇文章主要為大家展示了java中分數(shù)到小數(shù)的示例分析,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶大家一起來研究并學習一下“java中分數(shù)到小數(shù)的示例分析”這篇文章吧。

給定兩個整數(shù),分別表示分數(shù)的分子 numerator 和分母 denominator,以字符串形式返回小數(shù)。

如果小數(shù)部分為循環(huán)小數(shù),則將循環(huán)的部分括在括號內。

示例 1:

輸入: numerator = 1, denominator = 2
輸出: "0.5"

示例 2:

輸入: numerator = 2, denominator = 1
輸出: "2"

示例 3:

輸入: numerator = 2, denominator = 3
輸出: "0.(6)"

答案:

 1public String fractionToDecimal(int numerator, int denominator) {
2    if (numerator == 0) {
3        return "0";
4    }
5    StringBuilder res = new StringBuilder();
6    res.append(((numerator > 0) ^ (denominator > 0)) ? "-" : "");
7    long num = Math.abs((long) numerator);
8    long den = Math.abs((long) denominator);
9    // 整數(shù)部分
10    res.append(num / den);
11    num %= den;
12    if (num == 0) {
13        return res.toString();
14    }
15    // 小數(shù)部分
16    res.append(".");
17    HashMap<Long, Integer> map = new HashMap<Long, Integer>();
18    map.put(num, res.length());
19    while (num != 0) {
20        num *= 10;
21        res.append(num / den);
22        num %= den;
23        if (map.containsKey(num)) {
24            int index = map.get(num);
25            res.insert(index, "(");
26            res.append(")");
27            break;
28        } else {
29            map.put(num, res.length());
30        }
31    }
32    return res.toString();
33}

解析:

第6行是判斷符號位,如果被除數(shù)和除數(shù)符號相同,則結果為正,否則為負,先計算整數(shù)部分,然后再計算小數(shù)部分。整數(shù)部分比較簡單,小數(shù)部分我們只需要保存每次相除的余數(shù)即可,然后把它保存在HashMap中,如果有重復的說明出現(xiàn)了循環(huán),這題我們還可以參照前面的23,倒數(shù)的循環(huán)節(jié)

Java的優(yōu)點是什么

1. 簡單,只需理解基本的概念,就可以編寫適合于各種情況的應用程序;2. 面向對象;3. 分布性,Java是面向網絡的語言;4. 魯棒性,java提供自動垃圾收集來進行內存管理,防止程序員在管理內存時容易產生的錯誤。;5. 安全性,用于網絡、分布環(huán)境下的Java必須防止病毒的入侵。6. 體系結構中立,只要安裝了Java運行時系統(tǒng),就可在任意處理器上運行。7. 可移植性,Java可以方便地移植到網絡上的不同機器。8.解釋執(zhí)行,Java解釋器直接對Java字節(jié)碼進行解釋執(zhí)行。

以上就是關于“java中分數(shù)到小數(shù)的示例分析”的內容,如果該文章對你有所幫助并覺得寫得不錯,勞請分享給你的好友一起學習新知識,若想了解更多相關知識內容,請多多關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI