Java大整数类快速实现高精度加减乘除

在求高精度方面Java相比C++和C而言有一个最大的好处就是有大整数类。因此避免了繁琐的手撸高精,快速简单。


输入格式:

输入有三行,第一行a,第二行一个算术运算符(+,-,*,/),第三行b。(0≤a,b≤10^2000)

样例:

BigInteger的常用方法:

BigInteger a = new BigInteger("99999999999999999999999");//使用字符串作为构造器产生一个大整数对象。

BigInteger a = BigInteger.valueof(50000000000000)//使用BigInteger的静态valueof方法产生一个大整数对象。

a.add(b)                  //a+b
a.subtract(b)              //a-b
a.multiply(b)              //a*b
a.divide(b)                //a/b

注意a,b都是BigInteger对象,不能是普通的int,long等整型数据类型

代码如下:

import java.math.BigInteger;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);

        String m=in.nextLine();//读入第一个数
        BigInteger a = new BigInteger(m);

        String o=in.nextLine();//读入运算符
        char c=o.charAt(0);

        String n=in.nextLine();//读入第二个数
        BigInteger b = new BigInteger(n);

        switch (c) {
            case '+':
                System.out.println(a.add(b));
                break;
            case '-':
                System.out.println(a.subtract(b));
                break;
            case '*':
                System.out.println(a.multiply(b));
                break;
            case '/':
                System.out.println(a.divide(b));
                break;
        }
    }
}

 

你可能感兴趣的:(数据结构与算法)