Ich habe ein Qiita-Konto erstellt, aber nichts geschrieben FizzBuzz-Problem, über das bereits gesprochen wurde, um das Posten von Artikeln in Java zu üben Versuche es zu lösen. Wenn Sie es normal lösen, wie es ist, wird es wirklich bedeutungslos sein, also Diesmal habe ich es nach folgenden Regeln gemacht.
String[] fizz = new String[]{"Fizz", " ", " "}; //In den Indizes 1 und 2 ist ein Raum mit halber Breite vorhanden.
String[] buzz = new String[]{"Buzz", " ", " ", " ", " "}; //In den Indizes 1 bis 4 ist ein Raum mit halber Breite vorhanden
for (int i = 1; i <= 100; i++) {
System.out.println((fizz[i % 3] + buzz[i % 5]).replaceAll("^\\s+$", String.valueOf(i)).trim());
}
Wenn Sie einen Prozess schreiben, der 0 sagt, wenn er durch 3, 5, 15 und 1 teilbar ist, wird er aktualisiert, wenn eine leere Zeichenfolge vorhanden ist. Ich konnte nicht an ...
int fizzCounter = 0;
int buzzCounter = 0;
for (int i = 1; i <= 100; i++) {
fizzCounter++;
buzzCounter++;
if (fizzCounter != 3 && buzzCounter != 5) {
System.out.print(i);
}
if (fizzCounter == 3) {
System.out.print("Fizz");
fizzCounter = 0;
}
if (buzzCounter == 5) {
System.out.print("Buzz");
buzzCounter = 0;
}
System.out.println();
}
Es ist schneller, die letzte Ziffer in 15 Jahren zu betrachten, aber ich verstehe eine so schwierige Geschichte nicht. </ S>
public static void main(String[] args) {
printFizzBuzz(1);
}
static void printFizzBuzz(int num) {
if (num % 15 == 0) {
System.out.println("FizzBuzz");
} else if (num % 3 == 0) {
System.out.println("Fizz");
} else if (num % 5 == 0) {
System.out.println("Buzz");
} else {
System.out.println(num);
}
if (num < 100) {
printFizzBuzz(num + 1);
} else {
return;
}
}
Egal wie viel Sie darüber sprechen und wie effizient und intelligent es ist, zu schreiben Ich denke, es ist wirklich wichtig, es tatsächlich zu transkribieren und mit der Logik zu verschieben, die Sie sich vorstellen können.
Recommended Posts