关于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;
}
} 展开
/**
* 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;
}
} 展开
4个回答
展开全部
Math.random()其实就是一个写好的函数方法,随机获得在0和1之间的一个数,而*10是代表这个数乘以10的到的数字,然后将这个数字转化成int类型数字,然后赋给前面的random ,然后指向swithc条件语句,如果的到的那个random 的值与case后面的值相同,就执行那个case里面的语句
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public static double random()
返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。
楼主switch的变量要在0到10内取,所以随机数应该乘以10!!
返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。
楼主switch的变量要在0到10内取,所以随机数应该乘以10!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Math.random()范围是0-1
乘10强行转换int型之后 就是0-10随即数
乘10强行转换int型之后 就是0-10随即数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |