一、FizzBuzzWhizz 需求:
when run(3) return 'Fizz'
when run(5) return 'Buzz'
when run(7) return 'Whizz'
when run(3 * 5) return 'FizzBuzz' //run 的參數(shù)為 3和5共同的倍數(shù)
when run(3 * 7) return 'FizzWhizz' //run 的參數(shù)為 3和7共同的倍數(shù)
when run(5 * 7) return 'BuzzWhizz' //run 的參數(shù)為 5和7共同的倍數(shù)
when run(3 * 5 * 7) return 'FizzBuzzWhizz' //run 的參數(shù)為 3、5和7共同的倍數(shù)
其余情況:
when run(n) return n // n 可以為 非 3、5、 7或3、5、7的倍數(shù)的數(shù)字 如:run(2) return '2'
作業(yè)要求:
1.通過document.write()方法,將以上需求的每一條調(diào)用結(jié)果打印出來,結(jié)果會(huì)在屏幕右邊顯示
2.為每一條需求寫一個(gè)測(cè)試,測(cè)試?yán)诱?qǐng)見實(shí)例方法 test11.通過document.write()方法,將以上需求的每一條調(diào)用結(jié)果打印出來,結(jié)果會(huì)在屏幕右邊顯示
二、思路:
我的代碼總共10行左右,沒有用太過復(fù)雜的算法和大量的語句,是一個(gè)簡單的程序,思路清晰、簡單易懂。
過程:
功能函數(shù)function run(num):
1.首先聲明function run(num)函數(shù),num是參數(shù);
2.定義一個(gè)需求字符串?dāng)?shù)組var arr = Array('Fizz','Buzz','Whizz')和空字符串var result = '';
3.參數(shù)num分別按順序于與3、5、7整除取余,若余數(shù)是0,則空字符串result連接arr[i](i=0,1,2)形成新的字符串;
4.判斷result若為空則返回原num,否則返回result。
5.方法二不建議,雖然少了一行代碼,但不易于閱讀。
測(cè)試函數(shù)function test(num):
1.聲明函數(shù)function test(num),num是參數(shù);
2.代碼只有一行,通過document.write()打印結(jié)果,里面調(diào)用run(num)函數(shù),傳入?yún)?shù)num,<\br>換行符,即document.write('The test '+num.toString() + ' result is : '+ run(num) + <\br>)
三、代碼
功能代碼:
function run(num){
var arr = Array('Fizz','Buzz','Whizz'); //定義字符串?dāng)?shù)組
var result = ''; //定義空字符串
if(num % 3 ==0 ) result += arr[0];
if(num % 5 ==0 ) result += arr[1];
if(num % 7 ==0 ) result + = arr[2];
if(result == '') return num.toString();
return result;
}
/*方法二:
function run(num){
var result = ''; //定義空字符串
if(num % 3 ==0 ) result += 'Fizz';
if(num % 5 ==0 ) result += 'Buzz';
if(num % 7 ==0 ) result += 'Whizz';
if(result == '') return num.toString();
return result;
}
*/
function test(num) {
document.write('The test '+num.toString() + ' result is : '+ run(num) + <\br>)
}
測(cè)試代碼:
test(105);
test(3);
test(7);
test(5);
test(35);
test(4*7);
test(3*7);
test(2);
測(cè)試結(jié)果顯示:
