From 7ac0b2e66da78b117936ff94153d112203ef0619 Mon Sep 17 00:00:00 2001 From: Aleksandr Barmin Date: Mon, 22 Oct 2018 21:44:41 +0300 Subject: [PATCH 1/2] A few puzzles were added --- src/com/company/Puzzle10_ThreadDestroy.java | 16 ++++++++++++++++ src/com/company/Puzzle11_ThreadStop.java | 19 +++++++++++++++++++ src/com/company/Puzzle12_SingleFile.java | 18 ++++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 src/com/company/Puzzle10_ThreadDestroy.java create mode 100644 src/com/company/Puzzle11_ThreadStop.java create mode 100644 src/com/company/Puzzle12_SingleFile.java diff --git a/src/com/company/Puzzle10_ThreadDestroy.java b/src/com/company/Puzzle10_ThreadDestroy.java new file mode 100644 index 0000000..77239b3 --- /dev/null +++ b/src/com/company/Puzzle10_ThreadDestroy.java @@ -0,0 +1,16 @@ +package com.company; + +/** + * Puzzler for Java 8 + */ +public class Puzzle10_ThreadDestroy { + + public static void main(String[] args) { + Thread.currentThread().destroy(); + } + + // Все ок, текущий поток завершится + // Не скомпилируется + // NoSuchMethodError + // InterruptedException +} diff --git a/src/com/company/Puzzle11_ThreadStop.java b/src/com/company/Puzzle11_ThreadStop.java new file mode 100644 index 0000000..e0cc214 --- /dev/null +++ b/src/com/company/Puzzle11_ThreadStop.java @@ -0,0 +1,19 @@ +package com.company; + +/** + * Java 8 + */ +public class Puzzle11_ThreadStop { + public static class MyException extends Exception { + + } + + public static void main(String[] args) throws Exception { + Thread.currentThread().stop(new MyException()); + } + + // Не скомпилируется + // Поток остановится с исключением MyException + // UnsupportedOperationException + // InterruptedException +} diff --git a/src/com/company/Puzzle12_SingleFile.java b/src/com/company/Puzzle12_SingleFile.java new file mode 100644 index 0000000..a8f2b3c --- /dev/null +++ b/src/com/company/Puzzle12_SingleFile.java @@ -0,0 +1,18 @@ +package com.company; + +/** + * Java 11 + */ +public class Puzzle12_SingleFile { + public static void main(String[] args) { + System.out.println("Hello, World!"); + } +} + +// java Puzzle12_SingleFile +// JEP: 330 + +// Hello, World! +// ClassNotFoundException +// Ты валенок, надо компилить через javac +// Еще вариант нужен From 58397ff283ab06cd255e1dee6240b519c05fde31 Mon Sep 17 00:00:00 2001 From: Aleksandr Barmin Date: Wed, 24 Oct 2018 11:16:26 +0300 Subject: [PATCH 2/2] A few tasks were added, still working on it --- src/com/company/Puzzle13_Var.java | 27 +++++++++++++++++++++++++++ src/com/company/Puzzle14_Double.java | 15 +++++++++++++++ src/com/company/Puzzle15_Comment.java | 13 +++++++++++++ 3 files changed, 55 insertions(+) create mode 100644 src/com/company/Puzzle13_Var.java create mode 100644 src/com/company/Puzzle14_Double.java create mode 100644 src/com/company/Puzzle15_Comment.java diff --git a/src/com/company/Puzzle13_Var.java b/src/com/company/Puzzle13_Var.java new file mode 100644 index 0000000..036b604 --- /dev/null +++ b/src/com/company/Puzzle13_Var.java @@ -0,0 +1,27 @@ +package com.company; + +public class Puzzle13_Var { + public static void executor(Object parameter) { + // parameter.method2(); // should be uncommented // line 1 + } + + public static void main(String[] args) { + var value = new Object(){ // line 2 + void method1() { + System.out.println("Hello from method 1"); + } + void method2() { + System.out.println("Hello from method 2"); + } + }; + + value.method1(); // line 3 + executor(value); // line 4 + } +} + +// Hello from method 1, Hello from method 2 +// Compile error at line 1 +// Compile error at line 2 +// Compile error at line 3 +// Compile error at line 4 \ No newline at end of file diff --git a/src/com/company/Puzzle14_Double.java b/src/com/company/Puzzle14_Double.java new file mode 100644 index 0000000..49a7388 --- /dev/null +++ b/src/com/company/Puzzle14_Double.java @@ -0,0 +1,15 @@ +package com.company; + +public class Puzzle14_Double { + public static void main(String[] args) { + System.out.println( + Math.min( + Double.MIN_VALUE, 0.0d + ) + ); + } +} + +// 0x0.0000000000001P-1022 - Double.MIN_VALUE +// 0.0d +// Doesn't compile \ No newline at end of file diff --git a/src/com/company/Puzzle15_Comment.java b/src/com/company/Puzzle15_Comment.java new file mode 100644 index 0000000..9372082 --- /dev/null +++ b/src/com/company/Puzzle15_Comment.java @@ -0,0 +1,13 @@ +package com.company; + +public class Puzzle15_Comment { + public static void main(String[] args) { + // this is comment + // \u000d System.out.println("Commented too!"); + } +} + +// Nothing +// Commented too +// Doesn't compile +// Exception at runtime \ No newline at end of file