Skip to main content
added 540 characters in body
Source Link
Edwardth
  • 271
  • 1
  • 5

Java8, 135 118118 110 bytes

Single, prints 8

interface T{static void main(String[]a){System.out.print(Byte.SIZE);}}/* class Byte{static int SIZE=16;}/**/// 

Doubled, prints 16

interface T{static void main(String[]a){System.out.print(Byte.SIZE);}}/* class Byte{static int SIZE=16;}/**///interface T{static void main(String[]a){System.out.print(Byte.SIZE);}}/* class Byte{static int SIZE=16;}/**/// 

Previews answer, 118 bytes

Single, prints 1

interface T{static void main(String[]a){System.out.print(T.class.getResource("B.class")==null?1:2);}}/* enum B{}/**/// 

Doubled, prints 2

interface T{static void main(String[]a){System.out.print(T.class.getResource("B.class")==null?1:2);}}/* enum B{}/**///interface T{static void main(String[]a){System.out.print(T.class.getResource("B.class")==null?1:2);}}/* enum B{}/**/// 

How this works

The java-compiler creates a single file for every class in the source file. Therefore i can simply check if a resource with the name B.class exists.


Orginal Answer, 135 bytes

Single, prints 1

interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**/// 

Doubled, prints 2

interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**///interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**/// 

Java8, 135 118 bytes

Single, prints 1

interface T{static void main(String[]a){System.out.print(T.class.getResource("B.class")==null?1:2);}}/* enum B{}/**/// 

Doubled, prints 2

interface T{static void main(String[]a){System.out.print(T.class.getResource("B.class")==null?1:2);}}/* enum B{}/**///interface T{static void main(String[]a){System.out.print(T.class.getResource("B.class")==null?1:2);}}/* enum B{}/**/// 

How this works

The java-compiler creates a single file for every class in the source file. Therefore i can simply check if a resource with the name B.class exists.


Orginal Answer

Single, prints 1

interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**/// 

Doubled, prints 2

interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**///interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**/// 

Java8, 135 118 110 bytes

Single, prints 8

interface T{static void main(String[]a){System.out.print(Byte.SIZE);}}/* class Byte{static int SIZE=16;}/**/// 

Doubled, prints 16

interface T{static void main(String[]a){System.out.print(Byte.SIZE);}}/* class Byte{static int SIZE=16;}/**///interface T{static void main(String[]a){System.out.print(Byte.SIZE);}}/* class Byte{static int SIZE=16;}/**/// 

Previews answer, 118 bytes

Single, prints 1

interface T{static void main(String[]a){System.out.print(T.class.getResource("B.class")==null?1:2);}}/* enum B{}/**/// 

Doubled, prints 2

interface T{static void main(String[]a){System.out.print(T.class.getResource("B.class")==null?1:2);}}/* enum B{}/**///interface T{static void main(String[]a){System.out.print(T.class.getResource("B.class")==null?1:2);}}/* enum B{}/**/// 

How this works

The java-compiler creates a single file for every class in the source file. Therefore i can simply check if a resource with the name B.class exists.


Orginal Answer, 135 bytes

Single, prints 1

interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**/// 

Doubled, prints 2

interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**///interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**/// 
added 710 characters in body
Source Link
Edwardth
  • 271
  • 1
  • 5

Java8, 135135 118 bytes

Single, prints 1

interface T{static void main(String[]a){System.out.print(T.class.getResource("B.class")==null?1:2);}}/* enum B{}/**/// 

Doubled, prints 2

interface T{static void main(String[]a){System.out.print(T.class.getResource("B.class")==null?1:2);}}/* enum B{}/**///interface T{static void main(String[]a){System.out.print(T.class.getResource("B.class")==null?1:2);}}/* enum B{}/**/// 

How this works

The java-compiler creates a single file for every class in the source file. Therefore i can simply check if a resource with the name B.class exists.


Orginal Answer

Single, prints 1

interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**/// 

Doubled, prints 2

interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**///interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**/// 

Java8, 135 bytes

Orginal, prints 1

interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**/// 

Doubled, prints 2

interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**///interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**/// 

Java8, 135 118 bytes

Single, prints 1

interface T{static void main(String[]a){System.out.print(T.class.getResource("B.class")==null?1:2);}}/* enum B{}/**/// 

Doubled, prints 2

interface T{static void main(String[]a){System.out.print(T.class.getResource("B.class")==null?1:2);}}/* enum B{}/**///interface T{static void main(String[]a){System.out.print(T.class.getResource("B.class")==null?1:2);}}/* enum B{}/**/// 

How this works

The java-compiler creates a single file for every class in the source file. Therefore i can simply check if a resource with the name B.class exists.


Orginal Answer

Single, prints 1

interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**/// 

Doubled, prints 2

interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**///interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**/// 
Source Link
Edwardth
  • 271
  • 1
  • 5

Java8, 135 bytes

Orginal, prints 1

interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**/// 

Doubled, prints 2

interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**///interface T{static void main(String[]a){int i=1;try{Class.forName("B");i=2;}catch(Exception e){}System.out.print(i);}}/* enum B{}/**///