超級大的數做加減乘除
java有八大資料型別:
1、byte(位),最大存盤資料量是255;
2、short(短整數),最大資料存盤量是65536;
3、int(整數),最大資料存盤容量是2的32次方減1;
4、long(長整數),最大資料存盤容量是2的64次方減1;
5、float(單精度浮動數),直接賦值時必須在數字后加上f或F;
6、double(雙精度);
7、boolean(布爾型別);
8、char(字符),
其中long型別所能存盤的容量是2的64次方減1,那如果遇到一個比這個容量的數該怎么辦?
我們可以利用陣列來處理,因為以上的八種型別都沒辦法滿足產生這個超級大的數,那我們就需要構建一個類,先使這個數能存在,
我這里是構建了一個BigLong類(如果不是為了實作這個演算法,java其實存在這個超級大的數-Biginteger直接就可以實作加減乘除還有比較)
public class BigLong {
int num[];
public BigLong(String str) {
int n=0;
int[] count=new int[str.length()];
for(int i=0;i<str.length();i++){
String m=str.substring(i, i+1);
n=Integer.parseInt(m);
count[i]=n;
}
num=count;
}
}
構建這個類的時候也蠻困難的,因為是小白,很多地方特別是陣列和String做了很多功課,最后才構建出這個類,
構建函式輸入的是String字串,然后借用count這個陣列將字串處理好后賦值給num實體變數,
然后在main函式就可以使用了:
String str="58287346328379183738273";
BigLong b=new BigLong(str);
BigLong d=new BigLong("3912834622973378193827382723819283298340");
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/548136.html
標籤:Java
上一篇:如何評價Java
