diff --git a/core-java-modules/core-java-scanner/pom.xml b/core-java-modules/core-java-scanner/pom.xml
index 9fb9d4ee05a2..ad309f091ea5 100644
--- a/core-java-modules/core-java-scanner/pom.xml
+++ b/core-java-modules/core-java-scanner/pom.xml
@@ -30,5 +30,17 @@
${lombok.version}
provided
+
+ org.junit.jupiter
+ junit-jupiter-api
+ 5.8.2
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ 5.8.2
+ test
+
-
\ No newline at end of file
+
diff --git a/core-java-modules/core-java-scanner/src/main/java/com/baeldung/scanner/ScannerClose.java b/core-java-modules/core-java-scanner/src/main/java/com/baeldung/scanner/ScannerClose.java
new file mode 100644
index 000000000000..ca09632bf569
--- /dev/null
+++ b/core-java-modules/core-java-scanner/src/main/java/com/baeldung/scanner/ScannerClose.java
@@ -0,0 +1,21 @@
+package com.baeldung.scanner;
+import java.util.Scanner;
+
+public class ScannerClose {
+ public String getGreetingMessage(Scanner scanner) {
+ System.out.print("Enter your name: ");
+ String name = scanner.nextLine();
+ return "Hi, " + name + " Welcome to Baeldung";
+ }
+
+ public static void main(String[] args) {
+ Scanner scanner = new Scanner(System.in);
+ try {
+ ScannerClose example = new ScannerClose();
+ String message = example.getGreetingMessage(scanner);
+ System.out.println(message);
+ } finally {
+ scanner.close();
+ }
+ }
+}
diff --git a/core-java-modules/core-java-scanner/src/main/java/com/baeldung/scanner/ScannerTryWithResources.java b/core-java-modules/core-java-scanner/src/main/java/com/baeldung/scanner/ScannerTryWithResources.java
new file mode 100644
index 000000000000..ea3a32546331
--- /dev/null
+++ b/core-java-modules/core-java-scanner/src/main/java/com/baeldung/scanner/ScannerTryWithResources.java
@@ -0,0 +1,19 @@
+package com.baeldung.scanner;
+import java.util.Scanner;
+
+public class ScannerTryWithResources {
+
+ public String getGreetingMessage(Scanner scanner) {
+ System.out.print("Enter your name: ");
+ String name = scanner.nextLine();
+ return "Hi, " + name + " Welcome to Baeldung";
+ }
+
+ public static void main(String[] args) {
+ try (Scanner scanner = new Scanner(System.in)) {
+ ScannerTryWithResources example = new ScannerTryWithResources();
+ String message = example.getGreetingMessage(scanner);
+ System.out.println(message);
+ }
+ }
+}
diff --git a/core-java-modules/core-java-scanner/src/test/java/com/baeldung/scanner/ScannerCloseUnitTest.java b/core-java-modules/core-java-scanner/src/test/java/com/baeldung/scanner/ScannerCloseUnitTest.java
new file mode 100644
index 000000000000..282a46214d60
--- /dev/null
+++ b/core-java-modules/core-java-scanner/src/test/java/com/baeldung/scanner/ScannerCloseUnitTest.java
@@ -0,0 +1,22 @@
+package com.baeldung.scanner;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import org.junit.jupiter.api.Test;
+import java.io.ByteArrayInputStream;
+import java.util.Scanner;
+
+public class ScannerCloseUnitTest {
+ @Test
+ void givenUserName_whenGetGreetingMessage_thenReturnsWelcomeMessage() {
+ String input = "Anees\n";
+ ByteArrayInputStream inputStream = new ByteArrayInputStream(input.getBytes());
+ Scanner scanner = new Scanner(inputStream);
+
+ ScannerClose example = new ScannerClose();
+ String result = example.getGreetingMessage(scanner);
+
+ assertEquals("Hi, Anees Welcome to Baeldung", result);
+
+ scanner.close();
+ }
+}
diff --git a/core-java-modules/core-java-scanner/src/test/java/com/baeldung/scanner/ScannerTryWithResourcesUnitTest.java b/core-java-modules/core-java-scanner/src/test/java/com/baeldung/scanner/ScannerTryWithResourcesUnitTest.java
new file mode 100644
index 000000000000..6b999afdaa16
--- /dev/null
+++ b/core-java-modules/core-java-scanner/src/test/java/com/baeldung/scanner/ScannerTryWithResourcesUnitTest.java
@@ -0,0 +1,23 @@
+package com.baeldung.scanner;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import org.junit.jupiter.api.Test;
+import java.io.ByteArrayInputStream;
+import java.util.Scanner;
+
+class ScannerTryWithResourcesUnitTest {
+
+ @Test
+ void givenUserName_whenGetGreetingMessage_thenReturnsWelcomeMessage() {
+ String input = "Anees\n";
+ ByteArrayInputStream inputStream = new ByteArrayInputStream(input.getBytes());
+
+ String result;
+ try (Scanner scanner = new Scanner(inputStream)) {
+ ScannerTryWithResources example = new ScannerTryWithResources();
+ result = example.getGreetingMessage(scanner);
+ }
+
+ assertEquals("Hi, Anees Welcome to Baeldung", result);
+ }
+}