Skip to content

Commit 46e07e7

Browse files
authored
Merge pull request #18847 from degr8sid-code/master
BAEL-6604: Terminating Scanner when Input is Complete in Java
2 parents 06b8452 + 631275e commit 46e07e7

File tree

5 files changed

+101
-0
lines changed

5 files changed

+101
-0
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.baeldung.scannerinput;
2+
3+
import java.util.Scanner;
4+
5+
public class DoWhileScanner {
6+
public static void main(String[] args) {
7+
Scanner sc = new Scanner(System.in);
8+
String input;
9+
10+
do {
11+
input = sc.nextLine();
12+
System.out.println(input);
13+
} while (!input.equals("exit"));
14+
15+
sc.close();
16+
}
17+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.baeldung.scannerinput;
2+
3+
import java.util.Scanner;
4+
5+
public class EOFExample {
6+
7+
public static void main(String[] args) {
8+
Scanner scan = new Scanner(System.in);
9+
10+
try {
11+
System.out.println("Enter text (press CTRL+D on Unix/Mac or CTRL+Z on Windows to end):");
12+
13+
while (scan.hasNextLine()) {
14+
String line = scan.nextLine();
15+
System.out.println("You entered: " + line);
16+
}
17+
18+
System.out.println("End of input detected. Program terminated.");
19+
} finally {
20+
scan.close();
21+
}
22+
}
23+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.baeldung.scannerinput;
2+
3+
import java.util.Scanner;
4+
5+
public class SampleScanner {
6+
7+
public static void main(String[] args) {
8+
Scanner scan = new Scanner(System.in);
9+
10+
try {
11+
while (scan.hasNextLine()) {
12+
String line = scan.nextLine().toLowerCase();
13+
System.out.println(line);
14+
}
15+
} finally {
16+
scan.close();
17+
}
18+
}
19+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.baeldung.scannerinput;
2+
3+
import java.util.Scanner;
4+
5+
public class SampleScannerScan {
6+
public static void main(String[] args) {
7+
Scanner scan = new Scanner(System.in);
8+
try {
9+
while (scan.hasNextLine()) {
10+
String line = scan.nextLine();
11+
if (line == null) {
12+
System.out.println("Exiting program (null check)...");
13+
System.exit(0);
14+
}
15+
System.out.println("Input was: " + line);
16+
}
17+
} finally {
18+
scan.close();
19+
}
20+
}
21+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.baeldung.scannerinput;
2+
3+
import java.util.Scanner;
4+
5+
public class SampleScannerSentinel {
6+
public static void main(String[] args) {
7+
Scanner scan = new Scanner(System.in);
8+
try {
9+
while (scan.hasNextLine()) {
10+
String line = scan.nextLine().toLowerCase();
11+
if (line.equals("exit")) {
12+
System.out.println("Exiting program...");
13+
break;
14+
}
15+
System.out.println(line);
16+
}
17+
} finally {
18+
scan.close();
19+
}
20+
}
21+
}

0 commit comments

Comments
 (0)