为了账号安全,请及时绑定邮箱和手机立即绑定

请问程序错在哪里?

请问程序错在哪里?

ffff团4346595 2016-11-15 21:26:35
题目要求是在script标签内,使用random ()方法和round(),计算不大于10的整数。下面是我的代码,编蒙了,谁来帮我看一下。<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Math </title><script type="text/javascript">//循环    var k = 0;    while(1){        //生成10以内的整数    var a = Math.random()*10;    var b = Math.round(a);    document.write(b);//放入数组arr    c[k] = b;    k++;    //数组去重    function only(){    for(i in c){        if(var j=c.indexOf(b)){            if(var l=c.indexOf(b,j+1)>=0){                c[l] = "";                only();            }        }    }    }//如果arr.length==11,循环结束    if(k==10) break;//排序并输出arr数组    c.sort();    document.write(c);    }</script></head><body></body></html>
查看完整描述

3 回答

已采纳
?
慕田峪3555374

TA贡献137条经验 获得超18个赞

看来你晕的还不轻,首先你那个循环的k一直是在递增,不管有没有重复的数,所以最后你得到的肯定少于十个数,而且,你那个判断也有问题,太麻烦了,直接两个函数就解决了indexOf() , splice();新产生的数先去数组中找看有没有,有就跳过直接下一次循环,没有再向数组中添加这个数,然后k再加1

查看完整回答
反对 回复 2016-11-16
  • 3 回答
  • 0 关注
  • 1240 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信