第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java如何存儲巨大的數(shù)字比如100!

java如何存儲巨大的數(shù)字比如100!

不負相思意 2018-12-30 04:00:12
java如何存儲巨大的數(shù)字比如100!
查看完整描述

1 回答

?
汪汪一只貓

TA貢獻1898條經(jīng)驗 獲得超8個贊

存儲100的階乘,這種超大數(shù)字,java 還是提供了一些類的比如 

  • 1: 使用BigInteger或者 BigDecimal...

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

import java.math.BigDecimal;

import java.math.BigInteger;

// 測試類  

public class Demo {

    public static void main(String[] args) {

        BigDecimal s1 = jieCheng(100);//BigDecimal存100的階乘還是沒有問題的

        BigInteger bi=s1.toBigInteger();//BigInteger存100的階乘也可以

        System.out.println(bi);

        System.out.println(s1);

    }

 

     

    public static BigDecimal jieCheng(int num) {

        BigDecimal sum = new BigDecimal("1");

        if (num < 0) {

            throw new IllegalArgumentException("參數(shù)不能為負!");

        }

        for (int i = 1; i <= num; i++) {

            sum =sum.multiply(new BigDecimal(i));//循環(huán)進行累乘

        }

        return sum;// 返回結果字符串

    }

}

  • 如果是BigDecimal都處理不了超大數(shù)字,  那么可以使用String來存儲

String str ="123...";//這種方式,是明文寫入代碼的,字符串長度不能太長.

所以太長的文本應該寫入字符串文本中. 使用的時候使用IO進行讀取

 


查看完整回答
反對 回復 2019-01-03
  • 1 回答
  • 0 關注
  • 643 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號