中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

java中分數到小數的示例分析

發布時間:2022-01-17 14:18:31 來源:億速云 閱讀:203 作者:清風 欄目:大數據

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

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

如果小數部分為循環小數,則將循環的部分括在括號內。

示例 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    // 整數部分
10    res.append(num / den);
11    num %= den;
12    if (num == 0) {
13        return res.toString();
14    }
15    // 小數部分
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行是判斷符號位,如果被除數和除數符號相同,則結果為正,否則為負,先計算整數部分,然后再計算小數部分。整數部分比較簡單,小數部分我們只需要保存每次相除的余數即可,然后把它保存在HashMap中,如果有重復的說明出現了循環,這題我們還可以參照前面的23,倒數的循環節

Java的優點是什么

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

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

向AI問一下細節

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

AI

鄯善县| 霍林郭勒市| 西峡县| 兰坪| 济源市| 安乡县| 柘城县| 多伦县| 玛多县| 甘德县| 肥东县| 临高县| 淮北市| 关岭| 铜鼓县| 富民县| 阿荣旗| 桐乡市| 高唐县| 精河县| 本溪| 萨迦县| 丰镇市| 会同县| 太谷县| 涡阳县| 衡东县| 长乐市| 岚皋县| 比如县| 息烽县| 布拖县| 巴南区| 宜丰县| 玛纳斯县| 泗水县| 和林格尔县| 临安市| 石棉县| 利辛县| 海南省|