Java数组--使用switch替代if

问题描述:

  给定一个整数n,从1到n按照下面的规则打印每个数:

    如果这个数被3整除,打印fizz

    如果这个数被5整除,打印buzz

    如果这个数同时被3和5整除,打印fizz,buzz

样例:

  比如n=15,返回一个字符串数组

[
  "1", "2", "fizz",
  "4", "buzz", "fizz",
  "7", "8", "fizz",
  "buzz", "11", "fizz",
  "13", "14", "fizz buzz"
]

实现:

 1 /**
 2  * 〈一句话功能简述〉<br> 
 3  * 〈使用switch替代if判断条件〉
 4  *
 5  * @author wangkai_wb
 6  * @create 2020/6/28
 7  * @since 1.0.0
 8  * 给你一个整数n. 从 1 到 n 按照下面的规则打印每个数:
 9  *
10  * 如果这个数被3整除,打印fizz.
11  * 如果这个数被5整除,打印buzz.
12  * 如果这个数能同时被3和5整除,打印fizz buzz.
13  */
14 public class SwitchIf {
15     public static void main(String[] args) {
16         List<String> list = fizzBuzz(15);
17         System.out.println("list=[");
18         for (String s : list)
19             System.out.print(s+",");
20         System.out.println();
21         System.out.println("]");
22     }
23 
24     /**
25      * 实现逻辑方法
26      * @param n
27      * @return
28      */
29     public static List<String> fizzBuzz(int n){
30         List<String> list = new ArrayList<>();
31         for (int i=1;i<=n;i++){
32             //通过Java的三目运算符,来判断整数的是那种情况;
33             int s = i%15 == 0 ? 3 : i%5 == 0 ? 2 : i%3 == 0 ? 1 : 4;
34             switch (s){
35                 case 1:
36                     list.add("fizz");
37                     break;
38                 case 2:
39                     list.add("buzz");
40                     break;
41                 case 3:
42                     list.add("fizz buzz");
43                     break;
44                  default:
45                      list.add(i+"");
46                      break;
47             }
48         }
49         return list;
50     }
51 }

测试结果:

  

猜你喜欢

转载自www.cnblogs.com/wk-missQ1/p/13202636.html