需求分析如下:
1.run 的參數為 3、5和7共同的倍數,run 的參數為 5和7共同的倍數...可以轉換為num%倍數==0,return' ',通過if...else if做判斷,除給定情況外,其他情況return num.toString()
2.字符串拼接問題:int result = run(),document.write()打印輸出,以滿足需求和符合基本語法
/*
FizzBuzzWhizz 需求:
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
function run(num) {
if(num%105==0){
return 'FizzBuzz';
}else if(num%35==0){
return 'BuzzWhizz' ;
}else if(num%21==0){
return 'FizzWhizz';
}else if(num%15==0){
return 'FizzBuzz';
}else if(num%7==0){
return 'Whizz';
}else if(num%5==0){
return 'Buzz';
}else if(num%3==0){
return 'Fizz';
}
else {
return num.toString();
}
}
var test1 = function() {
let result = run(2);
document.write('The test 1 result is : '+ result)
}
test1()
var test2 = function() {
let result = run(3);
document.write('The test 2 result is : '+ result)
}
test2()
var test3 = function() {
let result = run(5);
document.write('The test 3 result is : '+ result)
}
test3()
var test4 = function() {
let result = run(7);
document.write('The test 4 result is : '+ result)
}
test4()
var test5 = function() {
let result = run(15);
document.write('The test 5 result is : '+ result)
}
test5()
var test6 = function() {
let result = run(21);
document.write('The test 6 result is : '+ result)
}
test6()
var test7 = function() {
let result = run(35);
document.write('The test 7 result is : '+ result)
}
test7()
var test8 = function() {
let result = run(105);
document.write('The test 8 result is : '+ result)
}
test8()
總結與收獲:
1.這道題目的本質:輸入一些數,然后在顯示結果的時候要遵循一系列的規則,會用到大量的if語句
2.如果能被其中幾個特殊數字整除的,則要讀出幾個特殊的數字對應的字符;除此以外,則直接輸出輸入的數字
3.代碼要盡量符合以下要求:易于維護,易于擴展,易于理解。