BigInteger概述
可以让超过Integer范围内的数据进行运算
构造方法
public BigInteger(String val)
成员方法
public BigInteger add(BigInteger val)
public BigInteger subtract(BigInteger val)
public BigInteger multiply(BigInteger val)
public BigInteger divide(BigInteger val)
public BigInteger[] divideAndRemainder(BigInteger val)
案例
import java.math.BigInteger;
import java.util.Scanner;
/**
* @ClassName: BigInt
* @ProjectName hp-generator
* @Author zhaohp
* @Date 2018/11/22 17:16
* @Description: 两个大的整数的运算
*/
public class BigInt {
BigInteger m1;
BigInteger m2;
BigInteger m3;
BigInt(String s1, String s2) {
m1 = new BigInteger(s1);
m2 = new BigInteger(s2);
}
public void add() {
m3 = m1.add(m2);
System.out.println("两个数的和为:" + m3);
}
public void cut() {
m3 = m1.subtract(m2);
System.out.println("两个数的差为:" + m3);
}
public void multiply() {
m3 = m1.multiply(m2);
System.out.println("两个数的积为:" + m3);
}
public void divide() {
m3 = m1.divide(m2);
System.out.println("两个数的商为:" + m3);
}
public static void main(String[] args) {
String num1 = "123456789123456789123456789";
String num2 = "987654321987654321987654321";
BigInt bigInt = new BigInt(num1, num2);
bigInt.add();
bigInt.cut();
bigInt.multiply();
bigInt.divide();
System.out.println("请输入一个数字");
Scanner scan = new Scanner(System.in);
while (scan.hasNext()) {
BigInteger b1 = new BigInteger(scan.nextLine());
System.out.println("请输入另一个数字");
BigInteger b2 = new BigInteger(scan.nextLine());
System.out.println("两个数字的和为:【"+b1.add(b2)+"】");
System.exit(1);
}
}
}