请在不改变结构的情况下纠正上传的代码 class Solution { public List<String> fizzBuzz(int n) { int i = n; List<String> bin = new ArrayList<>(); while(i<=n){ i % 15 == 0 ?bin.add("FizzBuzz"):i%3==0?bin.add("Fizz"):i%5==0?bin.add("Buzz"):bin.add(i);++i;} return bin; } }
时间: 2024-03-21 10:41:43 浏览: 60
fizzbuzz-python-public
这段代码存在几个问题:
1. 循环条件 `i<=n` 应该改为 `i>=1`,否则循环不会执行。
2. 在添加元素到列表 `bin` 时,应该将整数 `i` 先转换为字符串,再添加到列表中。
下面是修改后的代码:
```
class Solution {
public List<String> fizzBuzz(int n) {
int i = 1;
List<String> bin = new ArrayList<>();
while(i <= n){
if(i % 15 == 0) {
bin.add("FizzBuzz");
} else if(i % 3 == 0) {
bin.add("Fizz");
} else if(i % 5 == 0) {
bin.add("Buzz");
} else {
bin.add(Integer.toString(i));
}
++i;
}
return bin;
}
}
```
这样就可以正确地生成 FizzBuzz 数列了。
阅读全文