[mémo] Java FizzBuzz Code Golf

Code de golf Java FizzBuzz

Java1.4.2 (105char)

A.java


class B{static{for(int i=0;i++<100;)System.out.println((i%3>0?"":"Fizz")+(i%5>0?i%3>0?i+"":"":"Buzz"));}}
$ java -version
java version "1.4.2_19"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_19-b04)
Java HotSpot(TM) Client VM (build 1.4.2_19-b04, mixed mode)
$ javac -version
javac: -la version est un indicateur non valide.
Comment utiliser: javac <options> <source files>
Les options disponibles sont:
  -g Génère toutes les informations de débogage
  -g:aucun Ne génère pas d'informations de débogage
  -g:{lines,vars,source}Générer uniquement certaines informations de débogage
  -nowarn ne lève pas d'avertissement
  -Imprimer un message sur le comportement du compilateur détaillé
  -deprecation Imprime l'emplacement des sources où des API obsolètes sont utilisées
  -classpath <path>Spécifiez l'emplacement de recherche dans le fichier de classe d'utilisateurs
  -sourcepath <path>Spécifiez où rechercher le fichier source d'entrée
  -bootclasspath <path>Remplacez l'emplacement du fichier de classe d'amorçage
  -extdirs <dirs>Remplacer l'emplacement des extensions installées
  -d <directory>Spécifiez l'emplacement de stockage du fichier de classe généré
  -encoding <encoding>Spécifie le codage de caractères utilisé par le fichier source
  -source <release>Maintenir la compatibilité de la source avec la version spécifiée
  -target <release>Générer un fichier de classe pour une version de VM spécifique
  -aide Imprimer un résumé des options standard

$ echo -n 'class B{static{for(int i=0;i++<100;)System.out.println((i%3>0?"":"Fizz")+(i%5>0?i%3>0?i:"":"Buzz"));}}' > A.java
$ javac A.java
A.java:1: ?Type incompatible pour:Ni l'un ni l'autre n'est un sous-type de l'autre.
Deuxième opérande: int
Troisième opérande: java.lang.String
class B{static{for(int i=0;i++<100;)System.out.println((i%3>0?"":"Fizz")+(i%5>0?i%3>0?i:"":"Buzz"));}}
                                                                                     ^
A.java:1: ?Type incompatible pour:Ni l'un ni l'autre n'est un sous-type de l'autre.
Deuxième opérande: int
Troisième opérande: java.lang.String
class B{static{for(int i=0;i++<100;)System.out.println((i%3>0?"":"Fizz")+(i%5>0?i%3>0?i:"":"Buzz"));}}
                                                                               ^
2 erreurs
$ echo -n 'class A{static{for(int i=0;i++<100;)System.out.println((i%3>0?"":"Fizz")+(i%5>0?i%3>0?i+"":"":"Buzz"));}}' > A.java
$ wc -c
105 A.java
$ javac A.java
$ java A
1
2
Fizz
4
Buzz
(Omis)
97
98
Fizz
Buzz
Exception in thread "main" java.lang.NoSuchMethodError: main

Java5~Java6 (96char)

A.java


enum A{B;int i;{for(;i++<100;)System.out.println((i%3>0?"":"Fizz")+(i%5>0?i%3>0?i:"":"Buzz"));}}
$ java -version
java version "1.5.0_22"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03)
Java HotSpot(TM) Client VM (build 1.5.0_22-b03, mixed mode, sharing)
$ javac -version
javac 1.5.0_22
javac:Il n'y a pas de fichier source.
Comment utiliser: javac <options> <source files>
Les options disponibles sont:
  -g Génère toutes les informations de débogage
  -g:aucun Ne génère pas d'informations de débogage
  -g:{lines,vars,source}Générer uniquement certaines informations de débogage
  -nowarn ne lève pas d'avertissement
  -Imprimer un message sur le comportement du compilateur détaillé
  -deprecation Imprime l'emplacement des sources où des API obsolètes sont utilisées
  -classpath <path>Spécifiez l'emplacement de recherche dans le fichier de classe d'utilisateurs
  -cp <path>Spécifiez l'emplacement de recherche dans le fichier de classe d'utilisateurs
  -sourcepath <path>Spécifiez où rechercher le fichier source d'entrée
  -bootclasspath <path>Remplacez l'emplacement du fichier de classe d'amorçage
  -extdirs <dirs>Remplacer l'emplacement des extensions installées
  -endorseddirs <dirs>Remplacer l'emplacement du chemin standard recommandé
  -d <directory>Spécifiez l'emplacement de stockage du fichier de classe généré
  -encoding <encoding>Spécifie le codage de caractères utilisé par le fichier source
  -source <release>Maintenir la compatibilité de la source avec la version spécifiée
  -target <release>Générer un fichier de classe pour une version de VM spécifique
  -version Informations sur la version
  -aide Imprimer un résumé des options standard
  -X Imprimer un résumé des options non standard
  -J<flag>                   <flag>Passer directement au système d'exécution

$ echo -n 'enum A{B;int i;{for(;i++<100;)System.out.println((i%3>0?"":"Fizz")+(i%5>0?i%3>0?i:"":"Buzz"));}}' > A.java
$ wc -c A.java
96 A.java
$ javac A.java
$ java A
1
2
Fizz
4
Buzz
(Omis)
97
98
Fizz
Buzz
Exception in thread "main" java.lang.NoSuchMethodError: main

Java7 (130char)

A.java


class A{public static void main(String[]a){for(int i=0;i++<100;)System.out.println((i%3>0?"":"Fizz")+(i%5>0?i%3>0?i:"":"Buzz"));}}
$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) Client VM (build 24.80-b11, mixed mode, sharing)
$ javac -version
javac 1.7.0_80
$ echo -n 'enum A{B;int i;{for(;i++<100;)System.out.println((i%3>0?"":"Fizz")+(i%5>0?i%3>0?i:"":"Buzz"));}}' > A.java
$ javac A.java
$ java A
Erreur:La méthode principale ne peut pas être trouvée dans la classe A. Définissez la méthode principale comme suit:
   public static void main(String[] args)
$ echo -n 'class A{public static void main(String[]a){for(int i=0;i++<100;)System.out.println((i%3>0?"":"Fizz")+(i%5>0?i%3>0?i:"":"Buzz"));}}' > A.java
$ wc -c A.java
130 A.java
$ javac A.java
$ java A
1
2
Fizz
4
Buzz
(Omis)
97
98
Fizz
Buzz

Java8 ou version ultérieure (127char)

A.java


interface A{static void main(String[]a){for(int i=0;i++<100;)System.out.println((i%3>0?"":"Fizz")+(i%5>0?i%3>0?i:"":"Buzz"));}}
$ java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)
$ javac -version
javac 1.8.0_212
$ echo -n 'interface A{static void main(String[]a){for(int i=0;i++<100;)System.out.println((i%3>0?"":"Fizz")+(i%5>0?i%3>0?i:"":"Buzz"));}}' > A.java
$ wc -c A.java
127 A.java
$ javac A.java
$ java A
1
2
Fizz
4
Buzz
(Omis)
97
98
Fizz
Buzz

Jshell (83char)

int i;for(;i++<100;)System.out.println((i%3>0?"":"Fizz")+(i%5>0?i%3>0?i:"":"Buzz"))
$ jshell --version
jshell 11.0.3
$ echo -n 'int i;for(;i++<100;)System.out.println((i%3>0?"":"Fizz")+(i%5>0?i%3>0?i:"":"Buzz"))' | jshell -
1
2
Fizz
4
Buzz
(Omis)
97
98
Fizz
Buzz

Version Jshell IMPRESSION (72char)

int i;for(;i++<100;)println((i%3>0?"":"Fizz")+(i%5>0?i%3>0?i:"":"Buzz"))
$ echo -n 'int i;for(;i++<100;)println((i%3>0?"":"Fizz")+(i%5>0?i%3>0?i:"":"Buzz"))' | jshell PRINTING -
1
2
Fizz
4
Buzz
(Omis)
97
98
Fizz
Buzz

Recommended Posts

[mémo] Java FizzBuzz Code Golf
[Mémo] Résumé du code de test
Mémo de code personnel Python
Différence entre java et python (mémo)