您好,登錄后才能下訂單哦!
本篇內容介紹了“如何理解FizzBuzzWhizz”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
你是一名體育老師,在某次課距離下課還有五分鐘時,你決定搞一個游戲。此時有100名學生在上課。游戲的規則是:
1. 你首先說出三個不同的特殊數,要求必須是個位數,比如3、5、7。
2. 讓所有學生拍成一隊,然后按順序報數。
3. 學生報數時,如果所報數字是第一個特殊數(3)的倍數,那么不能說該數字,而要說Fizz;如果所報數字是第二個特殊數(5)的倍數,那么要說Buzz;如果所報數字是第三個特殊數(7)的倍數,那么要說Whizz。
4. 學生報數時,如果所報數字同時是兩個特殊數的倍數情況下,也要特殊處理,比如第一個特殊數和第二個特殊數的倍數,那么不能說該數字,而是要說FizzBuzz, 以此類推。如果同時是三個特殊數的倍數,那么要說FizzBuzzWhizz。
5. 學生報數時,如果所報數字包含了第一個特殊數,那么也不能說該數字,而是要說相應的單詞,比如本例中第一個特殊數是3,那么要報13的同學應該說Fizz。如果數字中包含了第一個特殊數,那么忽略規則3和規則4,比如要報35的同學只報Fizz,不報BuzzWhizz。
public class NumberTuil { public static String[] getTuil(int a,int b,int c,int n){ String[] t = new String[n]; for(int i=1;i<=n;i++){ if (rule5(i,a)){ t[i-1] = "Fizz"; }else if(rule42(i,a,b,c)){ t[i-1] = "FizzBuzzWhizz"; }else{ String bb = rule41(i,a,b,c); if (!(i+"").equals(bb)){ t[i-1] = bb; }else{ t[i-1] = rule3(i,a,b,c); } } } return t; } private static String rule3(int i, int a, int b, int c) { if (i%a==0){ return "Fizz"; } if (i%b==0){ return "Buzz"; } if (i%c==0){ return "Whizz"; } return i+""; } private static String rule41(int i, int a, int b, int c) { if (i%a==0 && i%b==0 ) { return "FizzBuzz"; }else if (i%b==0 && i%c==0) { return "BuzzWhizz"; }else if(i%a==0 && i%c==0){ return "FizzWhizz"; } return i+""; } private static boolean rule42(int i, int a, int b, int c) { return i%a==0 && i%b==0 && i%c==0; } private static boolean rule5(int i, int a) { String str = String.valueOf(i); return str.indexOf(a+"") != -1; } public static void main(String[] args) { String strs[] = getTuil(3, 5, 7, 200); for (String str : strs) { System.out.println(str); } } }
“如何理解FizzBuzzWhizz”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。