logo

Java スキャナーの hasNext() メソッド

hasNext() は、このスキャナの入力に別のトークンがある場合に true を返す Java Scanner クラスのメソッドです。がある 三つ さまざまな種類の Java スキャナ hasNext() パラメータに応じて区別できるメソッド。これらは:

  1. Java スキャナーの hasNext () メソッド
  2. Java Scanner hasNext (文字列パターン) メソッド
  3. Java Scanner hasNext(Pattern pattern) メソッド

1.Java スキャナーの hasNext () メソッド:

これは、スキャナーの入力に別のトークンがある場合に true を返す Scanner クラスのメソッドです。このメソッドは、スキャンする入力を待機している間にブロックされる可能性があります。

2.Java スキャナーの hasNext (文字列パターン) メソッド:

これは、次のトークンが指定された文字列から構築されたパターンに一致する場合に true を返す Scanner クラスのメソッドです。

inttostr java

3.Java スキャナーの hasNext (パターン パターン) メソッド:

これは、次の完全なトークンが指定されたパターンに一致する場合に true を返す Scanner クラスのメソッドです。

構文

以下は、の宣言です hasNext() 方法:

 public boolean hasNext() public boolean hasNext(String pattern) public boolean hasNext(Pattern pattern) 

パラメータ

データ・タイプ パラメータ 説明 必須/オプション
パターン スキャンするパターンを指定する文字列です。 必須
パターン パターン 指定した文字列をスキャンするパターンです。 必須

戻り値

方法 戻り値
hasNext() このメソッドは、このスキャナーに別のトークンがある場合にのみ true を返します。
hasNext(文字列パターン) このメソッドは、このスキャナーに指定されたパターンに一致する別のトークンがある場合にのみ true を返します。
hasNext(パターンパターン) このメソッドは、このスキャナーに指定されたパターンに一致する別のトークンがある場合にのみ true を返します。

例外

IllegalStateException - スキャナーが閉じられた後に呼び出しが行われた場合、このメソッドは例外をスローします。

互換バージョン

Java 1.5以降

例1

 import java.util.*; public class ScannerHasNextExample1 { public static void main(String args[]){ //Create Scanner object Scanner scan = new Scanner('Hello World!'); //Printing the delimiter used System.out.println('Delimiter:' + scan.delimiter()); //Print the Strings while (scan.hasNext()) { System.out.println(scan.next()); } //Close the scanner scan.close(); } } 

出力:

 Delimiter:p{javaWhitespace}+ Hello World! 

例 2

 import java.util.*; public class ScannerHasNextExample2 { public static void main(String args[]){ String s = 'Hello, This is JavaTpoint.'; //Create scanner Object and pass string in it Scanner scan = new Scanner(s); //Check if the scanner has a token System.out.println('Result: ' + scan.hasNext()); //Print the string System.out.println('String: ' +scan.nextLine()); //Check if the scanner has a token after printing the line System.out.println('Final Result: ' + scan.hasNext()); //Close the scanner scan.close(); } } 

出力:

 Result: true String: Hello, This is JavaTpoint. Final Result: false 

例 3

 import java.util.*; public class ScannerHasNextExample3 { public static void main(String args[]){ //Create Scanner object Scanner scan = new Scanner('Program:Java;Python;Android'); //Initialize the String pattern String pattern = 'Program:.*'; //Check if pattern satisfies the String content if(scan.hasNext(pattern)){ System.out.println('Pattern found'); } else{ System.out.println('Pattern not found'); } scan.close(); } } 

出力:

 Pattern found 

例 4

 import java.util.*; public class ScannerHasNextExample4 { public static void main(String args[]){ String str = 'JavaTpoint.com 15 + 15 = 18.0'; Scanner scanner = new Scanner(str); //Checking scanner's next token matches 'c' System.out.println('Result: '+scanner.hasNext('JavaTpoint.com')); //Checking scanner's next token matches '=' System.out.println('Result: '+scanner.hasNext('=')); //Print the rest of the string System.out.println('Rest of String: '+scanner.nextLine()); scanner.close(); } } 

出力:

 Result: true Result: false Rest of String: JavaTpoint.com 15 + 15 = 18.0 

例5

 import java.util.*; import java.util.regex.Pattern; public class ScannerHasNextExample5 { public static void main(String args[]){ //Create Scanner object Scanner scan = new Scanner('Names:Raju1;Pawan;Suresh'); //Declare the delimiter scan.useDelimiter(';'); /*Initialize the String pattern which signifies that the String token contains characters of the alphabet only*/ Pattern pattern = Pattern.compile('[A-Za-z]*'); while(scan.hasNext()){ //Check if the token consists of declared pattern if(scan.hasNext(pattern)){ System.out.println(scan.next()); } else scan.next(); } scan.close(); } } 

出力:

 Pawan Suresh