hasNext() 是 Java Scanner 類的一種方法,如果此掃描器的輸入中有另一個標記,則返回 true。 Java Scanner hasNext() 方法共有三種不同類型,可以根據其參數進行區分。這些是:
- Java Scanner hasNext() 方法
- Java Scanner hasNext(字符串模式)方法
- Java Scanner hasNext(Pattern pattern) 方法
1.Java掃描器的hasNext()方法:
它是一個 Scanner 類方法,如果此掃描器的輸入中有另一個標記,則返回 true。此方法可能會在等待輸入掃描時阻塞。
2.Java Scanner hasNext(String pattern)方法:
它是一個 Scanner 類方法,如果下一個標記與從指定字符串構造的模式匹配,則返回 true。
3.Java Scanner hasNext(模式模式)方法:
它是一個 Scanner 類方法,如果下一個完整標記與指定模式匹配,則返回 true。
用法
以下是 hasNext() 方法的聲明:
public boolean hasNext()
public boolean hasNext(String pattern)
public boolean hasNext(Pattern pattern)
參數
數據類型 | 參數 | 描述 | 必需/可選 |
---|---|---|---|
String | pattern | 它是一個字符串,指定要掃描的模式。 | Required |
Pattern | pattern | 它是掃描指定字符串的模式。 | Required |
返回
方法 | 返回 |
---|---|
hasNext() | 當且僅當此掃描器具有另一個令牌時,此方法才返回 true。 |
hasNext(String pattern) | 當且僅當此掃描器具有與指定模式匹配的另一個標記時,此方法才返回 true。 |
hasNext(Pattern pattern) | 當且僅當此掃描器具有與指定模式匹配的另一個標記時,此方法才返回 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
相關用法
- Java Scanner hasNext()用法及代碼示例
- Java Scanner hasNextFloat()用法及代碼示例
- Java Scanner hasNextShort()用法及代碼示例
- Java Scanner hasNextByte()用法及代碼示例
- Java Scanner hasNextBoolean()用法及代碼示例
- Java Scanner hasNextDouble()用法及代碼示例
- Java Scanner hasNextLong()用法及代碼示例
- Java Scanner hasNextLine()用法及代碼示例
- Java Scanner hasNextBigInteger()用法及代碼示例
- Java Scanner hasNextInt()用法及代碼示例
- Java Scanner hasNextBigDecimal()用法及代碼示例
- Java Scanner reset()用法及代碼示例
- Java Scanner locale()用法及代碼示例
- Java Scanner nextByte()用法及代碼示例
- Java Scanner toString()用法及代碼示例
- Java Scanner findWithinHorizon()用法及代碼示例
- Java Scanner useRadix()用法及代碼示例
- Java Scanner delimiter()用法及代碼示例
- Java Scanner nextLong()用法及代碼示例
- Java Scanner radix()用法及代碼示例
注:本文由純淨天空篩選整理自 Java Scanner hasNext() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。