您的位置:首页 > 其它

产生随机数以及字符串的方法

2016-04-11 21:50 204 查看
源代码:

<span style="font-size:14px;">public class Jave_explore {
public static void main(String[] args) {
int number1 = (int) (System.currentTimeMillis() % 10); //用System.currentTimeMillis() % 10产生第一组随机数
System.out.println(number1);
int number2 = (int) (System.currentTimeMillis() / 7 % 10); //用System.currentTimeMillis() / 7 % 10产生第二组随机数
System.out.println(number2);
double i = Math.random() ; //利用Math.random()产生随机数
System.out.println(i);
int a = (int)(Math.random() * 100);
System.out.println(a);
int b = (int) (1+Math.random()*1000);
System.out.println(b);
}
}</span>


运行结果:



总结:

产生随机数的方法有两种,①.通过System.currentTimeMillis();②.通过Math.random() ;

1.对于第一种方法,这种方法现在我只知道通过System.currentTimeMillis() % 10以及System.currentTimeMillis() / 7 % 10来产生两组随机数,而且随机数的范围是在1~10之间,并且在一个源代码中这种去随机数方法只能出现一次,假使出现了多次,那么对应的取的随机数都是一个数;

2.通过Math.random() ;方法取的最初的随机数的类型是double型的,范围在0.0~0.1之间,通过算符运算以及类型的转换来控制随机数产生的数,采用Math.random() ;这个方法是可以多次取随机值而相应的值是不确定的。不过使用这个Math.random() ;取随机值要特别的注意类型转换,而且这个类型转换是相对于算术运算之后的数来说的,因为只有这样才能够保证所取的数符合要求,假使有这个语句 int a = (int) Math.random() * 100;那么无论怎样取的随机值都是0,因为(int)类型转换是对于一个<0的数而言的,这个数转换为int型就是0;

3.System.currentTimeMillis();这个方法就是取时间的方法,现在还没明白为什么它还可以用于取随机数?!

4.用Math.random()这个产生的随机数存在的范围是 [ 0.0 , 1.0 ) ;(特别注意这里产生的随机数不能等于1.0);

5.知道产生随机数的方法,那么就知道产生随机数的方法,因为只要通过一个强制转换就实现输出字符串了(要想控制输出的的字符串就按照ASCII或者Unicode表格控制);

6.还有其他的取随机数的方法,但是这里还不知道!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: