用Java中的高精度的一點小總結

 

Scanner cin = new Scanner(new BufferedReader(
				new InputStreamReader(System.in)));  //創建流對象


在創建流對象的是時候,有點技巧,進行了這樣多包裝,目的只有一個,那就是提高效率!

如果是想入讀一行文本的話,可以這樣進行包裝:

DataInputStream cin = new DataInputStream(new BufferedInputStream(System.in));


這是因爲在DataInputStream類中有readLine()方法,該方法的作用就是讀入一行文本!直到遇到換行的時候結束!

BigDecimal num = cin.nextBigDecimal();                //這樣可以輸入一個高精度的數字!
BigDecimal.ONE.negate();                             //返回 -this 比如當前對象是8 那麼調用negate()方法的結果就是返回-8對象
for (BigDecimal i = BigDecimal.ONE; i.compareTo(a) == -1; i = i
     .add(BigDecimal.ONE)) {}                      //對於高精度的for循環可以這樣寫
BigInteger p = cin.nextBigInteger(b);             // 從鍵盤上輸入一個b進制的數就可以這樣做到
p.mod(m).toString(b);                            //兩個b進制的數做mod運算還得到b進制的結果
Integer.parseInt(String.valueOf(a.charAt(i)));  //提供了一種將一個數字字符串中相應位置的字符轉換成整數包裝類的對象的方法
BigInteger.valueOf(a2);                        //如果a2是int基本類型,那麼這行代碼就能將其包裝成BigInteger類型 這樣包裝只是爲了運算方便
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章