FizzBuzzWhizz

作者: __已注销__ | 来源:发表于2017-04-01 22:11 被阅读0次

黑珍珠号_陈祥梅


题目需求

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.为每一条需求写一个测试。


TASKing分解图

TASKing分解图

思路分析及代码实现

需求如上图所示可分为两种情况:

  • 输入数字输出原数字
  • 输入数字输出指定字符串

处理函数流程图如下:

流程图

处理函数代码如下:

function run(num){
    let result ='';
    var flag=0;
    if(num%3===0) {
        result += 'Fizz';
        flag=1;
    }
    if(num%5===0) {
        result = result + 'Buzz';
        flag=1;
    }
    if(num%7===0) {
        result+='whizz';
        flag=1;
    }
    if(flag===0){
        return num.toString();
    }
    return result;
}

经检查变量flag不断出现在不同if语句中,于是想到是否可以去掉标志位变量flag。联想到C语言中有三目预算符test?result1 :result2,于是上网查找JS中类似的运算符。

优化后的处理函数如下:

function run(num) {
    let result ='';
    if(num%3===0) {
        result +='Fizz';
    }
    if(num%5===0) {
        result=result+'Buzz';
    }
    if(num%7===0) {
        result+='whizz';
    }
    return result||num;
}

测试结果如下:

test

相关文章

  • FizzBuzzWhizz

    本篇仅讨论此题目,若需查看与 javascript 相关信息,请查看本人另一篇文章 javascript 基础入门...

  • FizzBuzzWhizz

    题目描述:FizzBuzzWhizz 需求: when run(3) return 'Fizz'when run(...

  • FizzBuzzWhizz

    经分析该问题主要需要解决一下问题: 1.判断公倍数。2.实现字符串连接解决方法如下:1.依次判断是否是3、5、7的...

  • FizzBuzzWhizz

    需求分析如下: 1.run 的参数为 3、5和7共同的倍数,run 的参数为 5和7共同的倍数...可以转换为nu...

  • FizzBuzzWhizz

    JavaScript 针对那道题,我是这么想的: 先判断是否为3 and 5 and 7的公倍数,若不是接着判断,...

  • FizzBuzzWhizz

    FizzBuzzWhizz 起初考虑的时候觉得rule比较简单,运用最基本的思想,逐个判断条件发现确实太繁杂。做完...

  • FizzBuzzWhizz

    需求: when run(3) return 'Fizz'when run(5) return 'Buzz'whe...

  • FizzBuzzWhizz

    作业要求: 1.通过document.write()方法,将以上需求的每一条调用结果打印出来,结果会在屏幕右边显示...

  • FizzBuzzWhizz

    FizzBuzzWhizz题目需求: when run (3) return 'Fizz'when run(5) ...

  • FizzBuzzWhizz

    黑珍珠号_陈祥梅 题目需求 when run(3) return 'Fizz'when run(5) return...

网友评论

    本文标题:FizzBuzzWhizz

    本文链接:https://www.haomeiwen.com/subject/enswottx.html