
- Java.util - Home
- Java.util - ArrayDeque
- Java.util - ArrayList
- Java.util - Arrays
- Java.util - BitSet
- Java.util - Calendar
- Java.util - Collections
- Java.util - Currency
- Java.util - Date
- Java.util - Dictionary
- Java.util - EnumMap
- Java.util - EnumSet
- Java.util - Formatter
- Java.util - GregorianCalendar
- Java.util - HashMap
- Java.util - HashSet
- Java.util - Hashtable
- Java.util - IdentityHashMap
- Java.util - LinkedHashMap
- Java.util - LinkedHashSet
- Java.util - LinkedList
- Java.util - ListResourceBundle
- Java.util - Locale
- Java.util - Observable
- Java.util - PriorityQueue
- Java.util - Properties
- Java.util - PropertyPermission
- Java.util - PropertyResourceBundle
- Java.util - Random
- Java.util - ResourceBundle
- Java.util - ResourceBundle.Control
- Java.util - Scanner
- Java.util - ServiceLoader
- Java.util - SimpleTimeZone
- Java.util - Stack
- Java.util - StringTokenizer
- Java.util - Timer
- Java.util - TimerTask
- Java.util - TimeZone
- Java.util - TreeMap
- Java.util - TreeSet
- Java.util - UUID
- Java.util - Vector
- Java.util - WeakHashMap
- Java.util - Interfaces
- Java.util - Exceptions
- Java.util - Enumerations
- Java.util Useful Resources
- Java.util - Useful Resources
- Java.util - Discussion
Java Scanner hasNext() Method
Description
The java Scanner hasNext() method returns true if this scanner has another token in its input. This method may block while waiting for input to scan. The scanner does not advance past any input.
Declaration
Following is the declaration for java.util.Scanner.hasNext() method
public boolean hasNext()
Parameters
NA
Return Value
This method returns true if and only if this scanner has another token
Exception
IllegalStateException − if this scanner is closed
Java Scanner hasNext(Pattern pattern) Method
Description
The java.util.Scanner.hasNext(Pattern pattern) method returns true if the next complete token matches the specified pattern. A complete token is prefixed and postfixed by input that matches the delimiter pattern. This method may block while waiting for input. The scanner does not advance past any input.
Declaration
Following is the declaration for java.util.Scanner.hasNext() method
public boolean hasNext(Pattern pattern)
Parameters
pattern − the pattern to scan for
Return Value
This method returns true if and only if this scanner has another token matching the specified pattern
Exception
IllegalStateException − if this scanner is closed
Java Scanner hasNext(String pattern) Method
Description
The java.util.Scanner.hasNext(String pattern) method returns true if the next token matches the pattern constructed from the specified string. The scanner does not advance past any input. An invocation of this method of the form hasNext(pattern) behaves in exactly the same way as the invocation hasNext(Pattern.compile(pattern)).
Declaration
Following is the declaration for java.util.Scanner.hasNext() method
public boolean hasNext(String pattern)
Parameters
pattern − a string specifying the pattern to scan
Return Value
This method returns true if and only if this scanner has another token matching the specified pattern
Exception
IllegalStateException − if this scanner is closed
Checking Next Token if Available or Not Using Scanner On a String Example
The following example shows the usage of Java Scanner hasNext() method to check if next token is available to read or not. We've created a scanner object using a given string. Then we checked the token using hasNext() method and then we've printed the string using nextLine() method. Now hasNext() is used to check if more token is present and then scanner is closed using close() method.
package com.tutorialspoint; import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { String s = "Hello World! 3 + 3.0 = 6"; // create a new scanner with the specified String Object Scanner scanner = new Scanner(s); // check if the scanner has a token System.out.println("" + scanner.hasNext()); // print the rest of the string System.out.println("" + scanner.nextLine()); // check if the scanner has a token after printing the line System.out.println("" + scanner.hasNext()); // close the scanner scanner.close(); } }
Output
Let us compile and run the above program, this will produce the following result −
true Hello World! 3 + 3.0 = 6 false
Checking Next Token if Available or Not Using Pattern Example
The following example shows the usage of Java Scanner hasNext(Pattern pattern) method to check if next token matching a given pattern is available to read or not. We've created a scanner object using a given string. Then we checked the token using hasNext(pattern) method and then we've printed the string using nextLine() method. Now hasNext(pattern) is used to check if more token is present and then scanner is closed using close() method.
package com.tutorialspoint; import java.util.Scanner; import java.util.regex.Pattern; public class ScannerDemo { public static void main(String[] args) { String s = "Hello World! 3 + 3.0 = 6"; // create a new scanner with the specified String Object Scanner scanner = new Scanner(s); // check if the scanner's next token matches "rld" following 2 chars System.out.println("" + scanner.hasNext(Pattern.compile("..rld"))); // check if the scanner's next token matches "llo" following 2 chars System.out.println("" + scanner.hasNext(Pattern.compile("..llo"))); // print the rest of the string System.out.println("" + scanner.nextLine()); // close the scanner scanner.close(); } }
Output
Let us compile and run the above program, this will produce the following result −
false true Hello World! 3 + 3.0 = 6
Checking Next Token if Available or Not Using String as a Pattern On a String Example
The following example shows the usage of Java Scanner hasNext(String pattern) method to check if next token matching a given pattern is available to read or not. We've created a scanner object using a given string. Then we checked the token using hasNext(pattern) method and then we've printed the string using nextLine() method. Now hasNext(pattern) is used to check if more token is present and then scanner is closed using close() method.
package com.tutorialspoint; import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { String s = "Hello World! 3 + 3.0 = 6"; // create a new scanner with the specified String Object Scanner scanner = new Scanner(s); // check if the scanner's next token matches "World" System.out.println("" + scanner.hasNext("World")); // check if the scanner's next token matches "Hello" System.out.println("" + scanner.hasNext("Hello")); // print the rest of the string System.out.println("" + scanner.nextLine()); // close the scanner scanner.close(); } }
Output
Let us compile and run the above program, this will produce the following result −
false true Hello World! 3 + 3.0 = 6