Un jeu où le premier joueur dit "1" et le joueur suivant dit le numéro suivant du joueur précédent
Cependant ...
--S'il est divisible par 3, "Fizz" —— "Buzz" si divisible par 5
Il y a une règle
Puisque le problème FizzBuzz peut être généré avec un programme relativement simple, C'est un obstacle que les programmeurs novices devraient surmonter
for(int i = 1;i < 100;i++){
System.out.println(i);
}
--Déclarer un entier --Initialiser avec l'indice "i" comme 1. --Incrément (augmentation) i à 99 (non compris 100), --Sortez l'indice incrémenté i avec un saut de ligne
1
2
3
(Omission)
97
98
99
Sortie jusqu'à 99
Concaténer la chaîne "is Fizz"
for(int i = 1;i < 100;i++){
System.out.println(i + "Est Fizz");
}
1 est Fizz
2 est Fizz
3 est Fizz
4 est Fizz
5 est Fizz
(Omission)
15 est Fizz
(Omission)
96 est Fizz
97 est Fizz
98 est Fizz
99 est Fizz
1, 3 et 15 sont devenus Fizz Ceci est dû au fait qu'il n'y a pas de branchement conditionnel tel que "s'il s'agit d'un multiple de 3", "s'il s'agit d'un multiple de 5", "s'il s'agit d'un multiple de 3 et 5" et "s'il ne l'est pas".
Ajouter "Fizz" s'il s'agit d'un multiple de 3, sinon afficher un nombre
for(int i = 1;i < 100;i++){
if(i % 3 == 0){
System.out.println(i + "Est Fizz");
}
else{
System.out.println(i);
}
}
"I% 3 == 0" est Le reste de la division de i par 3 est égal à 0 Cela signifie que c'est un multiple de 3
1
2
3 est Fizz
4
5
6 est Fizz
7
8
9 est Fizz
10
(Omission)
15 est Fizz
16
17
18 est Fizz
(Omission)
93 est Fizz
94
95
96 est Fizz
97
98
99 est Fizz
Ajoutez "Fizz" si c'est un multiple de 3, "Buzz" s'il est un multiple de 5, sinon sortez un nombre.
for(int i = 1;i < 100;i++){
if(i % 3 == 0){
System.out.println(i + "Est Fizz");
}
else if(i % 5 == 0){
System.out.println(i + "Est Buzz");
}
else{
System.out.println(i);
}
}
1
2
3 est Fizz
4
5 est Buzz
6 est Fizz
7
8
9 est Fizz
10 est Buzz
11
12 est Fizz
13
14
15 est Fizz
16
15 est Fizz! En effet, le processus supérieur satisfait la condition et le processus inférieur est ignoré. Pour cette raison, il est nécessaire d'écrire dans l'ordre à partir de la condition "plus étroite".
if(i % 3 == 0){
System.out.println(i + "Est Fizz"); //La condition est remplie ici et le traitement ci-dessous est ignoré
}
else if(i % 5 == 0){
System.out.println(i + "Est Buzz");
Ajoutez "Fizz" si c'est un multiple de 3, "Buzz" s'il est un multiple de 5, sinon sortez un nombre. Reliez les expressions conditionnelles avec "&&" pour satisfaire des multiples de 5 en même temps que des multiples de 3
i % 3 == 0 && i % 5 == 0
for(int i = 1;i < 100;i++){
if(i % 3 == 0 && i % 5 == 0){
System.out.println(i + "Est-ce que Fizz Buzz");
}
else if(i % 3 == 0){
System.out.println(i + "Est Fizz");
}
else if(i % 5 == 0){
System.out.println(i + "Est Buzz");
}
else{
System.out.println(i);
}
}
1
2
3 est Fizz
4
5 est Buzz
6 est Fizz
7
8
9 est Fizz
10 est Buzz
11
12 est Fizz
13
14
15 est Fizz Buzz
Correctement 15 est émis comme Fizz Buzz Non!
Si vous écrivez à partir d'un large éventail de conditions ...
for(int i = 1;i < 100;i++){
if(i % 3 == 0){
System.out.println(i + "Est Fizz");
}
else if(i % 5 == 0){
System.out.println(i + "Est Buzz");
}
else if(i % 3 == 0 && i % 5 == 0){
System.out.println(i + "Est-ce que Fizz Buzz");
}
else{
System.out.println(i);
}
}
1
2
3 est Fizz
4
5 est Buzz
6 est Fizz
7
8
9 est Fizz
10 est Buzz
11
12 est Fizz
13
14
15 est Fizz
Après tout, "Fizz" est prioritaire et ce sera étrange, alors soyez prudent
Recommended Posts