问题描述
给定一个整数n. 从 1 到 n 按照下面的规则打印每个数:
- 如果这个数被3整除,打印fizz.
- 如果这个数被5整除,打印buzz.
- 如果这个数能同时被3和5整除,打印fizz buzz.
- 如果这个数既不能被 3 整除也不能被 5 整除,打印数字本身。
重点
在至多允许使用一个if判断时,如何达成题目要求?
主要考点
如何不用或用一个IF来实现题目需求。
算法逻辑
- 使用多目运算符
实现代码
public List<String> fizzBuzz(int n) {
List<String> s = new ArrayList();
for(int i = 1 ; i <= n ; i++){
s.add((i%5==0 && i%3==0) ? "fizz buzz" : i%5==0 ? "buzz" : i%3==0 ? "fizz" : i+"");
}
return s;
}