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: -Version ist ein ungültiges Flag.
Wie benutzt man: javac <options> <source files>
Die verfügbaren Optionen sind:
-g Generieren Sie alle Debug-Informationen
-g:none Generiert keine Debug-Informationen
-g:{lines,vars,source}Generieren Sie nur einige Debug-Informationen
-Jetzt keine Warnung auslösen
-Drucken Sie eine Nachricht über das Verhalten des ausführlichen Compilers
-Veraltet Gibt den Speicherort von Quellen aus, in denen veraltete APIs verwendet werden
-classpath <path>Geben Sie den Speicherort für die Benutzerklassendatei an
-sourcepath <path>Geben Sie an, wo die Eingabequelldatei durchsucht werden soll
-bootclasspath <path>Ersetzen Sie den Speicherort der Bootstrap-Klassendatei
-extdirs <dirs>Ersetzen Sie den Speicherort der installierten Erweiterungen
-d <directory>Geben Sie den Speicherort für die generierte Klassendatei an
-encoding <encoding>Gibt die von der Quelldatei verwendete Zeichenkodierung an
-source <release>Behalten Sie die Quellkompatibilität mit der angegebenen Version bei
-target <release>Generieren Sie eine Klassendatei für eine bestimmte VM-Version
-Hilfe Drucken Sie eine Zusammenfassung der Standardoptionen
$ 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: ?Inkompatibler Typ für:Keiner ist ein Subtyp des anderen.
Zweiter Operand: int
Dritter Operand: 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: ?Inkompatibler Typ für:Keiner ist ein Subtyp des anderen.
Zweiter Operand: int
Dritter Operand: 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 Fehler
$ 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
(Weggelassen)
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"));}}
main
-Methode funktioniertenum
in Java5 hinzugefügt$ 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:Es gibt keine Quelldatei.
Wie benutzt man: javac <options> <source files>
Die verfügbaren Optionen sind:
-g Generieren Sie alle Debug-Informationen
-g:none Generiert keine Debug-Informationen
-g:{lines,vars,source}Generieren Sie nur einige Debug-Informationen
-Jetzt keine Warnung auslösen
-Drucken Sie eine Nachricht über das Verhalten des ausführlichen Compilers
-Veraltet Gibt den Speicherort von Quellen aus, in denen veraltete APIs verwendet werden
-classpath <path>Geben Sie den Speicherort für die Benutzerklassendatei an
-cp <path>Geben Sie den Speicherort für die Benutzerklassendatei an
-sourcepath <path>Geben Sie an, wo die Eingabequelldatei durchsucht werden soll
-bootclasspath <path>Ersetzen Sie den Speicherort der Bootstrap-Klassendatei
-extdirs <dirs>Ersetzen Sie den Speicherort der installierten Erweiterungen
-endorseddirs <dirs>Ersetzen Sie die empfohlene Standardpfadposition
-d <directory>Geben Sie den Speicherort für die generierte Klassendatei an
-encoding <encoding>Gibt die von der Quelldatei verwendete Zeichenkodierung an
-source <release>Behalten Sie die Quellkompatibilität mit der angegebenen Version bei
-target <release>Generieren Sie eine Klassendatei für eine bestimmte VM-Version
-version Versionsinformationen
-Hilfe Drucken Sie eine Zusammenfassung der Standardoptionen
-X Drucken Sie eine Zusammenfassung der nicht standardmäßigen Optionen
-J<flag> <flag>Direkt an das Ausführungssystem übergeben
$ 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
(Weggelassen)
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"));}}
main
(mit einem Fehler), aber von Java7 funktionierte es nicht mehr.$ 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
Error:Die Hauptmethode kann nicht in Klasse A gefunden werden. Definieren Sie die Hauptmethode wie folgt:
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
(Weggelassen)
97
98
Fizz
Buzz
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
(Weggelassen)
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
(Weggelassen)
97
98
Fizz
Buzz
int i;for(;i++<100;)println((i%3>0?"":"Fizz")+(i%5>0?i%3>0?i:"":"Buzz"))
System.out.
$ 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
(Weggelassen)
97
98
Fizz
Buzz