需求:
when run(3) return 'Fizz'
when run(5) return 'Buzz'
when run(7) return 'Whizz'
when run(3 * 5) return 'FizzBuzz' //run 的参数为 3和5共同的倍数
when run(3 * 7) return 'FizzWhizz' //run 的参数为 3和7共同的倍数
when run(5 * 7) return 'BuzzWhizz' //run 的参数为 5和7共同的倍数
when run(3 * 5 * 7) return 'FizzBuzzWhizz' //run 的参数为 3、5和7共同的倍数
其余情况:
when run(n) return n // n 可以为 非 3、5、 7或3、5、7的倍数的数字 如:run(2) return '2'
作业要求:
1.通过document.write()方法,将以上需求的每一条调用结果打印出来,结果会在屏幕右边显示
2.为每一条需求写一个测试,测试例子请见实例方法 test1
分析:
- 输入一个数,判断其能否被3、5、7整除
- 能被整除则输出其对应关键字 Fizz、Buzz、Whizz;
- 关键字按3、5、7顺序排列,无分隔符
算法:
- 定义一个字符串str存储输出结果,将其初始化为空;
- 依次判断该数是否能被3、5、7整除,若能则用字符串str加上对应的Fizz、Buzz、Whizz;
- 判断str是否为空,是则输出数本身,否则输出字符串str。
代码:
function run(num) {
var str = '';
if(num%3 == 0) str = str+'Fizz';
if(num%5 == 0) str = str+'Buzz';
if(num%7 == 0) str = str+'Whizz';
if(str == '') return num;
else return str;
}
function test(num){
document.write(run(num) + '</br>');
}
test(3);
test(5);
test(7);
test(3*5);
test(3*7);
test(5*7);
test(3*5*7);
test(2);
测试结果:

网友评论