黑马程序员---Math-Random

来源:互联网 发布:python 条件语句 编辑:程序博客网 时间:2024/06/05 04:18
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------

 

java.lang.Math

public final class Math

Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。

方法字段都是静态的。

没有特有数据。

static doubleceil(double a) 
          返回大于参数的最小整数。天花板static doublefloor(double a) 
    
返回小于参数的最大整数。地板

static longround(double a)
          返回最接近参数的 long整数。四舍五入static intround(float a)
          返回最接近参数的 int整数。四舍五入

static doublepow(double a, double b)
          返回第一个参数的第二个参数次幂的值。ab

class MathDemo {public static void sop(Object obj){System.out.println(obj);}public static void main(String[] args) {Double d = Math.ceil(16.32);//返回大于参数的最小整数。天花板sop(d); // 17.0Double d2 = Math.floor(16.32);//返回小于参数的最大整数。地板sop(d2); // 16.0long l = Math.round(16.32);//四舍五入sop(l); // 16long l2 = Math.round(16.54);//四舍五入sop(l2); // 17double dou = Math.pow(12,2); //返回12的2次方sop(dou); // 144.0}}


static doublerandom()
          返回一个[0,1)的double型随机数。

class MathDemo {public static void sop(Object obj){System.out.println(obj);}public static void main(String[] args) {for(int x=0;x<10;x++){double d = Math.random();//返回一个[0,1)的double型随机数sop(d);}//我们要产生一个[1,10]的整型随机数for(int x=0;x<10;x++){   /*Math.random()是:   0.0***************,   0.1***************,   0.2***************,   0.3***************,   0.4***************,   0.5***************,   0.6***************,   0.7***************,   0.8***************,   0.9***************    的10个阶段数,那么   Math.random()*10的整数部分就是[0~9],包含0,也包含9,的十个数,   所以再加 1, 就是[1~10]   */int in = (int)(Math.random()*10+1);sop(in);}}}

方法中有如下解释:

第一次调用该方法时,它将创建一个新的伪随机数生成器,与以下表达式完全相同

new java.util.Random

 

我们来看看这个类:

java.util.Random

public class Random

构造方法Random()
          创建一个新的随机数生成器。

我们可以new一个对象

然后使用这些方法:

方法 longnextLong() 
     
返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。 booleannextBoolean()
          返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 boolean 值。 voidnextBytes(byte[] bytes)
          生成随机字节并将其置于用户提供的 byte 数组中。 doublenextDouble()
          返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.01.0 之间均匀分布的 double 值。 floatnextFloat()
          返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.01.0 之间均匀分布的 float 值。 intnextInt(int n) 
     
返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的int 值。 intnextInt()
          返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。

new Random().nextDouble() 方法即是 Math.random() 方法

比较爽的是 它里面直接有 产生int型随机数 的方法:nextInt()、nextInt(int n)

import java.util.*;class MathDemo {public static void sop(Object obj){System.out.println(obj);}public static void main(String[] args) {Random r = new Random();for(int x=0;x<10;x++){//nextInt(10)是返回[0,10)的整数,+1就是[1,11)的整数。int in = r.nextInt(10)+1;sop(in);}}}


练习。给定一个小数。
保留该小数的后两位。

选作。可以考虑,保留时进行四舍五入。


 

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net

0 0
原创粉丝点击