在java中存在俩个与数学相关的类:java.lang.Math(基本数学运算的类)和java.Math(执行任何精度指数和实数运算的类)
一。java.lang.Math的方法可以参见api文档
例如:pubic static double sin(double a)
......
计算随机数的方法:public static double random()(只能生成0.0-0.1之间的数)
java.util.Random类可以生成一个随机数流,方法很多。
例如:生成1-100之间的随即整数
long answer=Math.round(Math.random()*100);
int answer=Math.abs(new Random().nextInt(101))
int answer=Math.abs(new Random().nextInt()%100)+1
二。java.Math
精确整数的类是BigInteger
精确实数的类是BigDecimal
BigInteger有很多的成员变量和方法 参见api文档
例子:精确计算n!
public class factorialBigIntegerDemo{
static BigInteger factorial(BigInteger x){
if(x.compareTo(BigInteger.ONE)==0)
return (BigInteger.ONE);
else
return (x.multiply(factorial(x.subtract(BigInteger.ONE))));
}
pbulic static void main(String args[]){
....
....
}
}
阅读(554) | 评论(0) | 转发(0) |