我不太清楚int intVal=(int)(Math.random()*26+97)是如何转化为char int数据类型

求解:int random=(int)(Math.random()*6)+1;_百度知道
求解:int random=(int)(Math.random()*6)+1;
提问者采纳
生成一个1~7之间的随机整数。Math.random() ,生成一个0~1之间的随机小数。Math.random()*6,生成一个0~6之间的随机小数。(int) (Math.random()*6), 把生成的0~6之间的随机小数,强制取整,最终是0~6之间的随机整数(int)(Math.random()*6)+1, 生成一个1~7之间的随机数。满意请采纳!
来自团队:
其他类似问题
为您推荐:
random的相关知识
其他2条回答
一个随机数乘以6之后加1前面乘以6大概是需要一个系数吧 后面加1是为了不让这个随机数为0
答案:大于0,小于8的数
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁我不太清楚int intVal=(int)(Math.random()*26+97)是如何转化为char数据类型_百度知道
(char)intV你应该是问它的意思吧。这个语句返回的值是:ASCII为intVal的字符;需要注意的是,intVal本身并没有变化,只是这个语句的返回值为字符。
其他类似问题
为您推荐:
intval的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁我想知道在java中随机数的范围是如何控制的。 例int suiji = (int)(Math.random()*(9-3)+3); 范围是?_百度知道
我想知道在java中随机数的范围是如何控制的。 例int suiji = (int)(Math.random()*(9-3)+3); 范围是?
还有String类型可以随机吗?数组是怎么随机呢?谢谢大家咯!问题有点多。。
提问者采纳
我来好好回答这个问题。1、首先Math.random()会产生一个大于等于0并且小于1的小数,然后这个小数乘上(9-3)的结果6,也就是现在范围是大于等于0并且小于6,之后加上3后的范围就是大于等于3并且小于9,然后强制转为整数,这时的范围应该是3-8,注意取不到9哦;2、String类没有直接产生随机字符的方法,可以查询ASICII码表的字符顺序,然后随机产生对应范围内的字符,如英文大写字母ASICII码排在65-90的范围内,可以这样生成一个大写字符char c = (char)(Math.random()*26+65),注意这里只是随机生成一个字符,根据需要的字符串长度来循环就可以生成随机的字符串了;3、数组跟String类似,因为字符串其实就是char数组。
提问者评价
其他类似问题
为您推荐:
其他5条回答
你只要知道.random()方法产生的随机数是属于0~1之间的一个小数,然后你就可以推算出这个值了,应该 是 3+(0,6),也就是3~8之间的值 ,还要强制取整。
随机数的范围要写在random()的括号里面。String 不可以随机可以在得到随机数后在转化为String类型。数组的随机时要生成随机数后在通过数组添加,写入数组。
还是不明白
数组随机可用for循环实现原理就是每循环一次去一个随机数加入到数组中,循环次数为数组长度
那怎么,控制随机范围呢?比如说1到3的随机范围?
Random random = new Random();int x = random.nextInt(n);所去的随机数为0~(n-1)之间的数字
这个范围是3到8,你是在外面强制取整的,random出来的数范围是(0,1)
谢谢!数组的随机是在数组内写随机公式还是外面啊?如果用for的话?
math.random *10 当索引位不就得了
随机数的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁设有说明:则表达式w*x+z-y值的数据类型为( )_百度知道
设有说明:则表达式w*x+z-y值的数据类型为( )
D) double答案是哪个,要有详细说明。还有下面这题,结果是否一样。设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为
提问者采纳
答案是 D double型
下面的题的答案也是double型 c语言中 两个不同类型的运算 要转化成同类型的 转换从低到高
char--&float--&short--&int--&double
提问者评价
其他类似问题
为您推荐:
其他3条回答
双精度型因为会自动转为通用类型来计算
选A,下面的那个是双精度型。不用数据类型在做加减乘数运算时,结果都是最精确的那个。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁JAVA里面新手的一点问题_百度知道
JAVA里面新手的一点问题
前面两个就不写了String result=&&;for(int i= 0;i&6;6++){int intVal = (int)(Math.random()*26+97);result=result+(char)intV}System.out.println(result)}}这一段里就是有点看不懂(Math.random()*26+97)
意思我知道,可我就是不知道为什么是97~127。这个怎么得出来的?还有result=result+(char)intV是不是这个因为把int改成了char,所以数字就变成了字母?
还是上面一句话就已经变成了字母啊?还没学多久,也是自学,这个书上没讲为什么。以前也没什么基础。 可能问题很白痴,希望大家不吝赐教。
提问者采纳
”自强才是王道“,嘿嘿
提问者评价
谢谢你咯,和我讲了这么久。 也谢谢所有回答的人,让我更加有信心能学JAVA了。
其他类似问题
为您推荐:
其他3条回答
1.Math.random()*26+97为什么是97~127(其实不是127而是122)Math.random()的值的范围是0~1(不含1), 0*26+97=97 1*26+97=123 结果97~123(不含123)2.int值可以和char值进行转换,数据就对应的转成相应的字符3.你的代码有问题for(int i= 0;i&6;6++)不是6++而是i++System.out.println(result)后面少了分号
不应该是97~127,应该是97~122吧 Math.random()*26的范围是0~25啊 (char)intVal
是把数字转成对应的字母
应该是ASCII 码的,a-z对应的ascII码是97-122
我不知道是你粗心还是书上代码有问题,首先for(int i= 0;i&6;6++)里面应该是i++而不是6++,其他random()方法是在0.0~1.0的范围内的随机数,因此(Math.random()*26+97)的范围是(97,123),还有intVal是整形变量,加(char)是强制转换为字符型变量,因此是intVal整数对应的ASCII值。
java的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 char int 的文章

 

随机推荐