您的位置:首页 > 编程语言 > Java开发

java学习日记_68:Math类和Random类的学习

2016-11-13 14:20 453 查看
  Math:用于数学运算的类。

  成员变量:

  public static final double PI
  public static final double E

  成员方法:

 
public static int abs(int a):绝对值
 public static double ceil(double a):向上取整
 public static double floor(double a):向下取整
 public static int max(int a,int b):最大值 (min自学)
 public static double pow(double a,double b):a的b次幂
 public static double random():随机数 [0.0,1.0)
 public static int round(float a) 四舍五入(参数为double的自学)
 public static double sqrt(double a):正平方根

例题分析:

 需求:请设计一个方法,可以实现获取任意范围内的随机数。

  

  分析:

  A:键盘录入两个数据。

  int strat;

  int end;

  B:想办法获取在start到end之间的随机数

  我写一个功能实现这个效果,得到一个随机数。(int)

  C:输出这个随机数

 

g

public class MathDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入开始数:");
int start = sc.nextInt();
System.out.println("请输入结束数:");
int end = sc.nextInt();

for (int x = 0; x < 100; x++) {
// 调用功能
int num = getRandom(start, end);
// 输出结果
System.out.println(num);
}
}

/*
* 写一个功能 两个明确: 返回值类型:int 参数列表:int start,int end
*/
public static int getRandom(int start, int end) {
// 回想我们讲过的1-100之间的随机数
// int number = (int) (Math.random() * 100) + 1;
// int number = (int) (Math.random() * end) + start;
// 发现有问题了,怎么办呢?
int number = (int) (Math.random() * (end - start + 1)) + start;
return number;
}
}


  Random:产生随机数的类

  

 构造方法:

  public Random():没有给种子,用的是默认种子,是当前时间的毫秒值

  public Random(long seed):给出指定的种子

 

  给定种子后,每次得到的随机数是相同的。

 

  成员方法:

  public int nextInt():返回的是int范围内的随机数

  public int nextInt(int n):返回的是[0,n)范围的内随机数

g:

 

import java.util.Random;

public class RandomDemo {
public static void main(String[] args) {
// 创建对象
// Random r = new Random();
Random r = new Random(1111);

for (int x = 0; x < 10; x++) {
// int num = r.nextInt();
int num = r.nextInt(100) + 1;
System.out.println(num);
}
}
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: