Write a program that outputs the string representation of numbers from 1 to n.
But for multiples of three it should output “Fizz” instead of the number and for the multiples of five output “Buzz”. For numbers which are multiples of both three and five output “FizzBuzz”.
是3的倍数就输出Fizz,是5的倍数就输出Buzz,就是3的倍数又是5的倍数输出FizzBuzz
①首先要判断既是3也是5的倍数,再判断是3或者5
②将整数类型转换成String 类型的方法用了:String s = Integer.toString(i);
将i转换成String 类型
Example:
n = 15,
Return:
[
“1”,
“2”,
“Fizz”,
“4”,
“Buzz”,
“Fizz”,
“7”,
“8”,
“Fizz”,
“Buzz”,
“11”,
“Fizz”,
“13”,
“14”,
“FizzBuzz”
]
public static List<String> fizzBuzz(int n) {
List<String> result=new ArrayList();
for(int i=1;i<=n;i++){
if(i%3==0&&i%5==0){
result.add("FizzBuzz");
}else if(i%3==0){
result.add("Fizz");
}else if(i%5==0){
result.add("Buzz");
}else{
result.add(Integer.toString(i));
}
}
return result;
}
或者:
public List<String> fizzBuzz(int n) {
List<String> result=new ArrayList();
for(int i=1,fizz=0,buzz=0;i<=n;i++){
fizz++;
buzz++;
if(fizz==3 && buzz==5){
fizz=0;
buzz=0;
result.add("FizzBuzz");
}else if(fizz==3){
fizz=0;
result.add("Fizz");
}else if(buzz==5){
buzz=0;
result.add("Buzz");
}else{
result.add(Integer.toString(i));
}
}
return result;
}
在自己的编译器里面:
package com.company;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class FizzBuzz412 {
public static List<String> fizzBuzz(int n) {
List<String> result=new ArrayList();
for(int i=1;i<=n;i++){
if(i%3==0&&i%5==0){
result.add("FizzBuzz");
}else if(i%3==0){
result.add("Fizz");
}else if(i%5==0){
result.add("Buzz");
}else{
result.add(Integer.toString(i));
}
}
return result;
}
public static void main(String[] args) {
int n;
Scanner scanner=new Scanner(System.in);
n=scanner.nextInt();
List<String> result=new ArrayList<>();
result=fizzBuzz(n);
for ( int i = 0 ;i < result.size();i++){
System.out.println(result.get(i));
}
}
}