flash as2.0语法段落

i=0;rand_arry=newArray();do{rand_arry[i]=Math.ceil(Math.random()*32);k=true;for(j=0;j... i = 0;
rand_arry = new Array();
do {
rand_arry[i] = Math.ceil(Math.random()*32);
k = true;
for (j=0; j<i; j++) {
if (rand_arry[i] == rand_arry[j]) {
k = false;
break;
}
}
if (k) {
i++;
}
} while (i<10);
web=rand_arry.sort(16)
谁能把这段语句翻译下?
展开
 我来答
早年不知曲中味
2011-07-11 · TA获得超过2656个赞
知道大有可为答主
回答量:2334
采纳率:100%
帮助的人:1759万
展开全部
//这段代码的作用是从0到32里随机取10个不重复的数,并且按升序排列好。
i = 0;
//顾名思义,rand_array是一个存放随机数的数组。
rand_arry = new Array();
//do..while 语句,在while条件内执行循环。
do {
//程序意思是,随机从0到32里取出10个不重复的数放到数组rand_arry中。怎么去取出这10个不重复的数呢?每取到一个数,就通过rand_arry[i] == rand_arry[j]去判断,这个数是不是和前面取到的数相等,相等了代表重复出现(标记为k=false)了,这次不算,就break了,重新来取,合格了(就是k了),就i++ (i++相当于i=i+1,),次数增加1次。合格次数不能超过10次,在while(i<10)这里限定,如果i超过10了,就推出do...while循环,完成程序,取到rand_arry数组里的就是10个不重复的随机数了。

rand_arry[i] = Math.ceil(Math.random()*32);
k = true;
//k是个布尔值,起到标记是否重复的作用
for (j=0; j<i; j++) {
//对已经取得的随机数进行比较,如果取重复了,标记重复,跳出循环。
if (rand_arry[i] == rand_arry[j]) {
k = false;
break;
}
}
if (k) {
//没有重复就继续循环,去取下一个数
i++;
}
} while (i<10);//大于10次就退出循环
//以下对这个数组元素进行排序

//参数16,就是指定数值型数组,按照数值型进行比较,升序排列。
//参数18,就是指定数值型数组,按照数值型进行比较,降序排列。
//不指定参数,也是升序排列,但会把数字按照字符串比较,就是按照数字的Unicode码来比,这样,1就在9的前面,100就会排到99前面。
web = rand_arry.sort(16);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式