当前位置:首页 » 编程语言 » mathrandomjava

mathrandomjava

发布时间: 2023-03-02 19:33:37

‘壹’ java—利用Math.random随机产生字母的问题

‘a’不是字符串哦,“a”这个才是字符串!

呵呵

char
c
=
(char)(Math.random()
*
26
+
'a');

这里面其实进行了一次系统默认的数据类型转换和一个强制类型数据类型转换

默认的数据类型转换也称为
隐式的数据类型转换

当然了
强制。。
称为
显式

首先
Math.random()
*
26
+
'a'
这里面就进行了
隐式转换

Math.random()
*
26
的结果
是0-26的double
那么就是一个double+char
的表达式
这个时候根据规则会从小数据类型默认的转换为大数据类型
然后进行计算

也就是说
0-26的一个double
+
97.000000
那么它的结果当然也是一个double型
最后强制的将这个double型转为char型

总结:
小-大
隐式

大-小
显式

另外
显式的转换会丢失数据!
比如
double
d=4.9;
int
i
=(int)d;

到这里
你认识
i是多少?
想一下!

是4!
呵呵

字母对应以外的数字就会得到字母以外的字符

比如32
应该就是回车了

37
38
39
40
对应的←


↓了

不过255以上得到的字符应该得到个垃圾值
因为char只能存放0-255的数据

‘贰’ java中Math类中有没有random方法

Java中Math类中有random方法,这个方法产生的随机数是一个伪随机选择的(大致)均匀分布在从0.0到1.0这一范围内的double类型数

调用格式:

doublea=Math.random();//产生一个随机数给a
intb=(int)(1+Math.random()*(10-1+1));//产生一个1-10的数给b


另外,还可以使用Random类来完成生产随机数的功能,

1、java.util.Random类中实现的随机算法是伪随机,也就是有规则的随机,所谓有规则的就是在给定种(seed)的区间内随机生成数字;

2、同种子数的Random对象,相同次数生成的随机数字是完全相同的;

3、Random类中各方法生成的随机数字都是均匀分布的,也就是说区间内部的数字生成的几率均等;

示例代码:产生两个范围在(10-300)的随机数

importjava.util.Random;//导入Random包
publicclassRanadd{
publicstaticvoidmain(String[]args){
intx,y;//定义两变量
Randomne=newRandom();//实例化一个random的对象ne
x=ne.nextInt(300-10+1)+10;//为两变量赋随机值
y=ne.nextInt(300-10+1)+10;
System.out.println(x+"+"+y+"="+(x+y));//输出
}

}
热点内容
工行密码器怎么买东西 发布:2024-11-01 08:00:02 浏览:711
查找子串的算法 发布:2024-11-01 07:58:25 浏览:214
最快学编程 发布:2024-11-01 07:30:56 浏览:527
买福克斯买哪个配置好 发布:2024-11-01 07:01:07 浏览:36
pip更新python库 发布:2024-11-01 06:42:57 浏览:666
忆捷加密软件 发布:2024-11-01 06:34:05 浏览:353
androidlistview事件冲突 发布:2024-11-01 06:23:14 浏览:858
哈灵麻将在安卓上叫什么名字 发布:2024-11-01 06:01:47 浏览:220
大学生解压拓展哪里靠谱 发布:2024-11-01 05:59:20 浏览:854
编译函数求长方形面积和体积 发布:2024-11-01 05:52:16 浏览:745