1. 程式人生 > 其它 >力扣412(java)-Fizz Buzz(簡單)

力扣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(char
c) : 將 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。