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 }
测试结果:
分类:
Java算法
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库