黑马程序员技术交流社区

标题: BigInteger是什么类型 [打印本页]

作者: 郝福明    时间: 2013-1-2 00:13
标题: BigInteger是什么类型
本帖最后由 郝福明 于 2013-1-5 08:59 编辑

BigInteger是什么类型的,怎么定义啊,第一次见,而且用scanner从控制台读取时可以读到99999999999,但是我直接定义的时候不行,它的最大值是多少啊,主要是我不知道怎么定义,谁用过,给说一下呗
作者: 谢辉林    时间: 2013-1-2 08:34
BigInteger 任意大的整数,原则上是,只要你的计算机的内存足够大,可以有无限位的。
这个类在import.java.math.*;包中,因此每次必须在开头处引用该包。
BigInteger没有重载"+","-","*","/"这四个运算操作符,是不能直接进行数据元算的,而是需要提供对应的方法,其基本操作如下:
基本函数:

1.valueOf(parament); 将参数转换为制定的类型

  比如 int a=3;

       BigInteger b=BigInteger.valueOf(a);

       则b=3;

       String s=”12345”;

       BigInteger c=BigInteger.valueOf(s);

       则c=12345;



2.add(); 大整数相加

   BigInteger a=new BigInteger(“23”);

   BigInteger b=new BigInteger(“34”);

   a.add(b);

3.subtract(); 相减

4.multiply(); 相乘

5.divide();    相除取整

6.remainder();取余

7.pow();   a.pow(b)=a^b

8.gcd();   最大公约数

9.abs(); 绝对值

10.negate();取反数

11.mod(); a.mod(b)=a%b=a.remainder(b);

12.max(); min();

13.punlic int comareTo();

14.boolean equals(); 是否相等

15.BigInteger构造函数:

  一般用到以下两种:

   BigInteger(String val);

   将指定字符串转换为十进制表示形式;

   BigInteger(String val,int radix);

   将指定基数的BigInteger的字符串表示形式转换为BigInteger

Ⅱ.基本常量:

   A=BigInteger.ONE    1

   B=BigInteger.TEN    10

   C=BigInteger.ZERO   0

Ⅲ.基本操作

1.读入:

用Scanner类定义对象进行控制台读入,Scanner类在java.util.*包中

Scanner cin=new Scanner(System.in);// 读入

while(cin.hasNext())   //等同于!=EOF


作者: 肖志锋    时间: 2013-1-2 14:32
楼上说的很对,关于这个类我就不多说了,API很清楚,我觉得楼主在以后发现这些问题的时候,可以先去查一下API,看看这是一个什么样子的类,在哪个包下面,如果是java.lang包就不用导包了,如果不是,肯定是需要导包了,除非你反射。
多说一句吧,我觉得楼主可以多加强一下基础知识,因为java很多的类,很多时候我们需要自己去学习,学会当然是最好,但更多的是需要找到学习的方法学会找出问题的方法,而这些往往都是最基础的。

作者: 郝福明    时间: 2013-1-2 15:29
laughing 发表于 2013-1-2 08:34
BigInteger 任意大的整数,原则上是,只要你的计算机的内存足够大,可以有无限位的。
这个类在import.java. ...

string转的时候出现错误,要求改成long类型的,怎么处理呢,如果用long,101000001010就越界啊





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2