java實現(xiàn)拉鉤網(wǎng)上的FizzBuzzWhizz問題示例
package test;
/**
* 你是一名體育老師,在某次課距離下課還有五分鐘時,你決定搞一個游戲。此時有100名學生在上課。游戲的規(guī)則是:
*
* 1. 你首先說出三個不同的特殊數(shù),要求必須是個位數(shù),比如3、5、7。
* 2. 讓所有學生拍成一隊,然后按順序報數(shù)。
* 3.學生報數(shù)時,如果所報數(shù)字是第一個特殊數(shù)(3)的倍數(shù),那么不能說該數(shù)字,而要說Fizz;如果所報數(shù)字是第二個特殊數(shù)(5)的倍數(shù),那么要說Buzz;如果所報數(shù)字是第三個特殊數(shù)(7)的倍數(shù),那么要說Whizz。
* 4.學生報數(shù)時,如果所報數(shù)字同時是兩個特殊數(shù)的倍數(shù)情況下,也要特殊處理,比如第一個特殊數(shù)和第二個特殊數(shù)的倍數(shù),那么不能說該數(shù)字,而是要說FizzBuzz,以此類推。如果同時是三個特殊數(shù)的倍數(shù),那么要說FizzBuzzWhizz。
* 5.學生報數(shù)時,如果所報數(shù)字包含了第一個特殊數(shù),那么也不能說該數(shù)字,而是要說相應的單詞,比如本例中第一個特殊數(shù)是3,那么要報13的同學應該說Fizz。如果數(shù)字中包含了第一個特殊數(shù),那么忽略規(guī)則3和規(guī)則4,比如要報35的同學只報Fizz,不報BuzzWhizz。
*
* 現(xiàn)在,我們需要你完成一個程序來模擬這個游戲,它首先接受3個特殊數(shù),然后輸出100名學生應該報數(shù)的數(shù)或單詞。
*
* @author liuxuewen
*
*/
public class FizzBuzzWhizz {
public static void main(String[] args) {
int a = 3;/*第一個特殊字*/
int b = 5;/*第二個特殊字*/
int c = 7;/*第三個特殊字*/
int start = 1;/*開始報數(shù)的數(shù)字*/
int end = 100;/*結束報數(shù)的數(shù)字*/
String[] output = { "Fizz", "Fizz", "Buzz", "Whizz", "FizzBuzz", "FizzWhizz", "BuzzWhizz", "FizzBuzzWhizz" };/*存放標志字符串數(shù)組*/
int index = -1;/*默認字符串索引為-1*/
/*循環(huán)進行報數(shù)*/
for (int i = start; i <= end; i++) {
/*先判斷第5的條件 ,再判斷第三的條件,最后判斷第4的條件*/
index = (i % 10 == a || i / 10 == a) ? 0 : -1;
index = (-1 == index) ? ((i % a == 0 && i % b == 0) ? 4 : (i % a == 0 && i % c == 0) ? 5 : (i % b == 0 && i % c == 0) ? 6 : -1) : index;
index = (-1 == index) ? ((i % a == 0) ? 1 : (i % b == 0) ? 2 : (i % c == 0) ? 3 : -1) : index;
/*輸出結果*/
System.out.println((-1 == index ? i : output[index]));
}
}
}
相關文章
java編程FinalReference與Finalizer原理示例詳解
這篇文章主要為大家介紹了java編程FinalReference與Finalizer的核心原理以及示例源碼的分析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-01-01Vue中computed計算屬性和data數(shù)據(jù)獲取方式
這篇文章主要介紹了Vue中computed計算屬性和data數(shù)據(jù)獲取方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03Mybatis 動態(tài)表名+Map參數(shù)傳遞+批量操作詳解
這篇文章主要介紹了Mybatis 動態(tài)表名+Map參數(shù)傳遞+批量操作詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12淺談Java代碼的 微信長鏈轉短鏈接口使用 post 請求封裝Json(實例)
下面小編就為大家?guī)硪黄獪\談Java代碼的 微信長鏈轉短鏈接口使用 post 請求封裝Json(實例)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07Spring和IDEA不推薦使用@Autowired?注解原因解析
這篇文章主要為大家介紹了Spring和IDEA不推薦使用@Autowired?注解原因解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07spring boot 實現(xiàn)Minio分片上傳的步驟
分片上傳,就是將所要上傳的文件,按照一定的大小,將整個文件分隔成多個數(shù)據(jù)塊來進行分別上傳,上傳完之后再由服務端對所有上傳的文件進行匯總整合成原始的文件,本文給大家介紹spring boot 實現(xiàn)Minio分片上傳的步驟,感興趣的朋友跟隨小編一起看看吧2023-10-10IDEA 2020版本最新破解教程可激活至2089年(推薦)
這篇文章主要介紹了IDEA 2020版本最新破解教程可激活至2089年,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09