关于java中 随机产生的问题 这段代码中int random = (int)(Math.random()*10); 是什么意思 为什么要 *10

importjava.util.*;/***GuessMachine.java**/publicclassGuessMachine{Stringname;doublepr... import java.util.*;
/**
* GuessMachine.java
*
*/
public class GuessMachine {
String name ;
double price;

/**
* 初始化商品信息
*/
public void initial(){
int random = (int)(Math.random()*10); //产生随机数
switch(random){
case 0:
case 1:
case 2:
case 3:
name = "公主电动车";
price = 2000;
break;
case 4:
case 5:
case 6:
name = "34寸纯平彩电";
price = 3000;
break;
case 7:
case 8:
case 9:
name = "新飞冰箱";
price = 3400;
break;
default:
break;
}
}
展开
 我来答
太行智融
2011-04-14 · TA获得超过271个赞
知道答主
回答量:63
采纳率:0%
帮助的人:25.1万
展开全部
int random = (int)(Math.random()*10); //产生随机数

这段代码中,Math是数学类,random()是Math类中的一个方法,random本身只产生(0~1)之间的小数,
random()*10 意思是产生0~10之间的小数 ,int(random()*10)的意思是强制取整,把小数部分去掉只去整数部分,所以 就变成了 产生0~9之间的整数。
jkchenwo
2011-04-14 · TA获得超过4300个赞
知道小有建树答主
回答量:1019
采纳率:0%
帮助的人:549万
展开全部
Math.random()其实就是一个写好的函数方法,随机获得在0和1之间的一个数,而*10是代表这个数乘以10的到的数字,然后将这个数字转化成int类型数字,然后赋给前面的random ,然后指向swithc条件语句,如果的到的那个random 的值与case后面的值相同,就执行那个case里面的语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
长理王章
2011-04-14 · TA获得超过2.3万个赞
知道大有可为答主
回答量:2033
采纳率:0%
帮助的人:892万
展开全部
public static double random()
返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。
楼主switch的变量要在0到10内取,所以随机数应该乘以10!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leck5325
2011-04-14 · TA获得超过252个赞
知道答主
回答量:353
采纳率:0%
帮助的人:201万
展开全部
Math.random()范围是0-1

乘10强行转换int型之后 就是0-10随即数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式