While循环输出异常求助:Udacity习题代码问题排查
问题分析与修正方案
嘿,我帮你找出几个关键问题啦,这就是你提交后系统提示错误的原因:
- 整除判断用错了运算符:你用
x/3 === 0来判断是否能被3整除,这完全不对哦。比如数字3除以3得到的是1,永远不会等于0。正确的做法是用取模运算符%,它会返回两数相除后的余数,当余数为0时就说明能被整除,也就是x % 3 === 0。 - 条件顺序逻辑颠倒:你把「同时被3和5整除」的判断放在了最后,这会导致前面的单个条件先触发。比如数字15会先被
x%3===0拦截,输出"Julia",永远走不到同时满足的条件。所以必须把这个条件放在最前面。 - 拼写与大小写不符合题目要求:题目要求输出的是"Julia""James""JuliaJames",你写的是小写的"julia""james",还有"juiliajames"多了一个i,这些细节也会导致结果不符合预期。
下面是修正后的JavaScript代码:
var x = 1; while (x <= 20) { if (x % 3 === 0 && x % 5 === 0) { console.log("JuliaJames"); } else if (x % 3 === 0) { console.log("Julia"); } else if (x % 5 === 0) { console.log("James"); } else { console.log(x); } x = x + 1; }
你可以提交这段代码试试,应该就能符合题目要求啦~
内容的提问来源于stack exchange,提问作者Nkosi Tauro
相关产品推荐
相关产品推荐

