练习报错排查:打印1-42随机整数时控制台提示异常
问题分析与解决
你的报错提示Are you doing the multiplication inside the ceil() method call?核心是在提醒你:练习要求你在Math.ceil()的方法调用内部完成乘法操作,而你的代码里存在多余的、不符合要求的逻辑。
看你的代码:
- 前两行
var someRandomNumber = Math.random();和var wholeRandomNumber = Math.ceil(someRandomNumber);完全是冗余代码,这部分只会生成0或1的整数(因为Math.random()返回0到1之间的数,取整后只能是0或1),和你要生成1-42随机整数的需求无关,而且这部分代码没有把乘法放在ceil()内部,触发了练习的检测报错。 - 最后一行
console.log(Math.ceil(Math.random() * 42));其实是完全正确的写法:Math.random() * 42生成0到42(不包含42)的浮点数,再通过Math.ceil()取整,就能得到1到42之间的随机整数。
解决步骤
删除多余的前两行代码,只保留正确的那一行即可,修改后的代码如下:
console.log(Math.ceil(Math.random() * 42));
这样就能符合练习要求,报错也会消失。
内容的提问来源于stack exchange,提问作者Jorge Pereira
相关产品推荐
相关产品推荐

