力扣412(java)-Fizz Buzz(簡單)
題目:
給你一個整數 n ,找出從 1 到 n 各個整數的 Fizz Buzz 表示,並用字串陣列 answer(下標從 1 開始)返回結果,其中:
answer[i] == "FizzBuzz" 如果 i 同時是 3 和 5 的倍數。
answer[i] == "Fizz" 如果 i 是 3 的倍數。
answer[i] == "Buzz" 如果 i 是 5 的倍數。
answer[i] == i (以字串形式)如果上述條件全不滿足。
示例 1:
輸入:n = 3
輸出:["1","2","Fizz"]
示例 2:
輸入:n = 5
輸出:["1","2","Fizz","4","Buzz"]
示例 3:
輸入:n = 15
輸出:["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz"]
提示:
1 <= n <= 104
來源:力扣(LeetCode)
連結:https://leetcode.cn/problems/fizz-buzz
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
解題思路:
1.建立一個字串陣列answer來存放結果;
2.從1到n進行遍歷:
- 如果當前 i 既是3的倍數又是5的倍數(i%15 == 0),則向結果陣列新增 字串 FizzBuzz;
- 如果當前 i 是3的倍數(i%3 == 0),則向結果陣列新增 字串 Fizz;
- 如果當前 i 是5的倍數(i%5 == 0),則向結果陣列新增 字串 Buzz;
- 如果以上條件均不滿足,則向結果陣列中添加當前數字(將數字轉換成字串)。
3.返回字串陣列answer。
程式碼:
小知識:
1.String 類別中已經提供了將基本資料型態轉換成 String 的 static 方法 ,也就是 String.valueOf() 這個引數多載的方法,有以下幾種:
1 String.valueOf(boolean b) : 將 boolean 變數 b 轉換成字串 ; 2 String.valueOf(charc) : 將 char 變數 c 轉換成字串 ;String.valueOf(char[] data) : 將 char 陣列 data 轉換成字串 ; 3 String.valueOf(char[] data, int offset, int count) : 將 char 陣列 data 中 由 data[offset] 開始取 count 個元素 轉換成字串 ; 4 String.valueOf(double d) : 將 double 變數 d 轉換成字串 ; 5 String.valueOf(float f) : 將 float 變數 f 轉換成字串 ; 6 String.valueOf(int i) : 將 int 變數 i 轉換成字串 ; 7 String.valueOf(long l) : 將 long 變數 l 轉換成字串 ; 8 String.valueOf(Object obj) : 將 obj 物件轉換成 字串, 等於obj.toString() ;
舉例:
int i = 23;
String str = String.valueOf(i);
這時候 str 就會是字串 "23"
2.Java中append方法和add方法的區別:
append:
- Java裡只有StringBuffer和StringBuild才有append方法,Sting裡是沒有append方法的
- 在動態數組裡新增字串,相當於+,xxxx”+“yyyy”
add:
是List向集合列表中新增元素
3.List<String> answer = new ArrayList<String>():
1 操作符 new 表明要建立一個List型別的物件/變數 answer; 2 answer裡面存放的是一個數組列表(ArrayList) 物件,其下標和普通陣列的下標一樣,是 int 型別,answer的元素都是String型別; 3 ArrayList<E>這個類,實現了介面 List<E>, 故可以將 ArrayList的任何物件的型別,如 list, 看作是 java.util.List 型別; 4 尖括號是泛型操作符。其中的引數 String 表明List 型別的物件的元素型別均為字串 String 型別; 5 一對裡面無內容的圓括號表明被呼叫的構造方法無需引數,就是說,被呼叫的構造方法是預設的/預設的; 6 List<String> list = new ArrayList<String>();或 List<String> list = new ArrayList<String>(){} ; 結果都是: 建立了一個空的(不含字串元素的) ArrayList 物件 list。