国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - JAVA教程 - java編程實現兩個大數相加代碼示例

java編程實現兩個大數相加代碼示例

2021-02-28 11:03靜水流深之鑫 JAVA教程

這篇文章主要介紹了java編程實現兩個大數相加代碼示例,具有一定參考價值,需要的朋友可以了解下。

通常情況,實現大數運算是通過BigInteger和BigDecimal兩種方法。這兩種方法分別表示不可變的任意精度的整數和不可變的有符號的任意精度的十進制數(浮點數)。主要用于高精度計算中。這兩個類使得java中的大數,高精度運算變得很簡單。但本文介紹的并不是通過上述兩種方法實現Java中的大數運算。

主要的思想是:把兩個數存在String中了,然后將每個數字取出,放到數組,由最末位開始計算,算加法,判斷是否進位,進位則前位+1,若超過長度,則copy到新的數組。

代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
public class BigIntAdd {
    private int[] array;
    //聲明一個數組
    //計算大數相加的函數
    public static String bigAdd(BigIntAdd fisrtNum, BigIntAdd secondNum) {
        String result = "";
        Boolean falg = false;
        //判斷數組是否越界的標志
        int[] arrayOne;
        int[] arrayTwo;
        int[] arrayThree = null;
        //把較長的字符串放到arrayOne數組中,因為要把計算結果放到arrayOne數組中
        if (fisrtNum.instance().length >= secondNum.instance().length) {
            arrayOne = fisrtNum.instance();
            arrayTwo = secondNum.instance();
        } else {
            arrayOne = secondNum.instance();
            arrayTwo = fisrtNum.instance();
        }
        for (int i = 0; i < arrayTwo.length; i++) {
            if (arrayOne[i] + arrayTwo[i] < 10) {
                //不需要進位時
                arrayOne[i] = arrayOne[i] + arrayTwo[i];
            } else if (arrayOne[i] + arrayTwo[i] >= 10) {
                //需要進位時
                arrayOne[i] = arrayOne[i] + arrayTwo[i] - 10;
                if ((i + 1) < arrayOne.length) {
                    arrayOne[i + 1] = arrayOne[i + 1] + 1;
                    //下一位的值加1
                } else {
                    //當arrayOne的長度不夠時要把其復制到arrayThree中
                    falg = true;
                    arrayThree = new int[arrayOne.length + 1];
                    System.arraycopy(arrayOne, 0, arrayThree, 0,arrayOne.length);
                    arrayThree[arrayOne.length] = 1;
                    //把arrayThree最高位賦值1,等價于進位的1
                }
            }
        }
        //把數組arrayThree中的元素全部的拼接為字符串
        if (falg) {
            for (int i : arrayThree) {
                result += i;
            }
        } else {
            for (int i : arrayOne) {
                result += i;
            }
        }
        //把結果反轉返回
        return new StringBuffer(result).reverse().toString();
    }
    //初始化數組方法
    private int[] instance() {
        return array;
    }
    //初始化構造方法
    public BigIntAdd(String num) {
        StringBuffer sb = new StringBuffer(num);
        String string = sb.reverse().toString();
        //實現字符串反轉,便于計算
        array = new int[string.length()];
        //把字符串轉化為數組
        for (int i = 0; i < string.length(); i++) {
            array[i] = Integer.valueOf(string.substring(i, i + 1));
        }
    }
    public static void main(String [] args){
        String result=BigIntAdd.bigAdd(new BigIntAdd("5211111111"), new BigIntAdd("4099999999"));
        System.out.println(result);
    }
}

結果:

java編程實現兩個大數相加代碼示例

總結

以上就是本文關于java編程實現兩個大數相加代碼示例的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

原文鏈接:http://blog.csdn.net/qq_26941173/article/details/74983784

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 国产高清久久久 | 国产中文在线 | 成人综合电影网 | 日本一区二区高清不卡 | 日韩福利在线 | 自拍偷拍一区二区三区 | 久久精品国产视频 | 91性高湖久久久久久久久网站 | 亚洲欧洲精品成人久久奇米网 | 色欧美片视频在线观看 | 国产亚洲精品美女久久久久久久久久 | 久久精品国产一区二区三区 | 日韩精品一区二区在线观看 | 亚洲精品一区二区 | 在线观看亚洲一区二区三区 | 亚洲一区二区三区四区五区午夜 | 国产美女精品人人做人人爽 | 五月宗合网 | 一级做a爰性色毛片免费1 | 亚洲国产精品尤物yw在线观看 | 精品无码久久久久久久动漫 | 在线欧美亚洲 | 欧美性猛交一区二区三区精品 | 看黄免费 | 久久久亚洲 | 免费的av | 国产精品国产精品国产专区不卡 | 久久噜噜噜精品国产亚洲综合 | 日本久久精品视频 | 日韩欧美精品 | www.国产精品 | 久久久亚洲国产天美传媒修理工 | 久久中文字幕一区二区三区 | 日本久久网 | 成人精品视频在线 | 我要看日本黄色小视频 | 嫩草成人影院 | av中文字幕在线 | 亚洲精品在线视频 | 国产免费久久 | 日韩欧美在线一区二区 |