J'ai créé un compte Qiita, mais je n'ai rien écrit Problème FizzBuzz dont on a parlé au point de s'entraîner à publier des articles en Java Essayez de le résoudre. Si vous le résolvez normalement tel quel, cela n'aura vraiment aucun sens, alors Cette fois, je l'ai fait selon les règles suivantes.
String[] fizz = new String[]{"Fizz", " ", " "}; //Il y a un espace demi-largeur dans les index 1 et 2.
String[] buzz = new String[]{"Buzz", " ", " ", " ", " "}; //Il y a un espace demi-largeur dans les index 1 à 4
for (int i = 1; i <= 100; i++) {
System.out.println((fizz[i % 3] + buzz[i % 5]).replaceAll("^\\s+$", String.valueOf(i)).trim());
}
Si vous écrivez un processus qui dit 0 alors qu'il est divisible par 3, 5, 15 et 1 sinon, il sera rafraîchissant là où il y a une chaîne de caractères vide. Je ne pouvais pas penser à ...
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();
}
Il est plus rapide de regarder le dernier chiffre en 15-aire, mais je ne comprends pas une histoire aussi difficile. </ 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;
}
}
Peu importe combien vous en parlez et à quel point il est efficace et intelligent d'écrire Je pense qu'il est vraiment important de le transcrire et de le déplacer avec la logique à laquelle vous pouvez penser.
Recommended Posts