FizzBuzz

%演算子を使わないとか、for文を使わないとか4通りのやり方で。

%演算子を使わないとか、for文を使わないとか4通りのやり方で。

  • タグ:
  • タグはありません
/*
* FizzBuzz
*
*
*
* ->Fizz
* ->Buzz
* ->FizzBuzz
*
*
*
* 1
* 2
* Fizz
* 4
* Buzz
* Fizz
* 7
* 8
* Fizz
*
*
*/
public class FizzBuzz {
private static final int NUM_BGN = 1;
private static final int NUM_END = 50;
public static void main(String[] args) {
System.out.println("FizzBuzz^q^");
System.out.println("----");
std();
System.out.println("--使--");
recursive(NUM_BGN);
System.out.println("--使--");
unuseMod();
System.out.println("----");
dataTable();
}
private static void std() {
//
for (int i = NUM_BGN; i <= NUM_END; i++) {
if (i % 15 == 0) { //
System.out.println("FizzBuzz");
} else if (i % 3 == 0) {
System.out.println("Fizz");
} else if (i % 5 == 0) {
System.out.println("Buzz");
} else {
System.out.println(i);
}
}
}
private static void recursive(int i) {
// 使
if (i <= NUM_END) {
if (i % 15 == 0) { //
System.out.println("FizzBuzz");
} else if (i % 3 == 0) {
System.out.println("Fizz");
} else if (i % 5 == 0) {
System.out.println("Buzz");
} else {
System.out.println(i);
}
recursive(i+1);
}
}
private static void unuseMod() {
// 使
//
//
//
for (int i = NUM_BGN; i <= NUM_END; i++) {
if (i / 15 * 15 == i) {
System.out.println("FizzBuzz");
} else if (i / 3 * 3 == i) {
System.out.println("Fizz");
} else if (i / 5 * 5 == i) {
System.out.println("Buzz");
} else {
System.out.println(i);
}
}
}
private static void dataTable() {
// FizzBuzz
//
final String[] tbl = {
null,
null,
"Fizz",
null,
"Buzz",
"Fizz",
null,
null,
"Fizz",
"Buzz",
null,
"Fizz",
null,
null,
"FizzBuzz"
};
for (int i = NUM_BGN; i <= NUM_END; i++) {
int idx = (i-1) % 15;
if (tbl[idx] != null) {
System.out.println(tbl[idx]);
} else {
System.out.println(i);
}
}
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX