溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何理解FizzBuzzWhizz

發(fā)布時間:2021-10-12 14:17:28 來源:億速云 閱讀:142 作者:iii 欄目:編程語言

本篇內(nèi)容介紹了“如何理解FizzBuzzWhizz”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

你是一名體育老師,在某次課距離下課還有五分鐘時,你決定搞一個游戲。此時有100名學(xué)生在上課。游戲的規(guī)則是:

1. 你首先說出三個不同的特殊數(shù),要求必須是個位數(shù),比如3、5、7。
2. 讓所有學(xué)生拍成一隊,然后按順序報數(shù)。
3. 學(xué)生報數(shù)時,如果所報數(shù)字是第一個特殊數(shù)(3)的倍數(shù),那么不能說該數(shù)字,而要說Fizz;如果所報數(shù)字是第二個特殊數(shù)(5)的倍數(shù),那么要說Buzz;如果所報數(shù)字是第三個特殊數(shù)(7)的倍數(shù),那么要說Whizz。
4. 學(xué)生報數(shù)時,如果所報數(shù)字同時是兩個特殊數(shù)的倍數(shù)情況下,也要特殊處理,比如第一個特殊數(shù)和第二個特殊數(shù)的倍數(shù),那么不能說該數(shù)字,而是要說FizzBuzz, 以此類推。如果同時是三個特殊數(shù)的倍數(shù),那么要說FizzBuzzWhizz。
5. 學(xué)生報數(shù)時,如果所報數(shù)字包含了第一個特殊數(shù),那么也不能說該數(shù)字,而是要說相應(yīng)的單詞,比如本例中第一個特殊數(shù)是3,那么要報13的同學(xué)應(yīng)該說Fizz。如果數(shù)字中包含了第一個特殊數(shù),那么忽略規(guī)則3和規(guī)則4,比如要報35的同學(xué)只報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”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI