Java Scanner hasNextLine()方法及示例
java.util.Scanner 类的 hasNextLine() 方法如果在该扫描器的输入中存在另一行,则返回true。该方法在等待输入时可能会阻塞。扫描器不会因为任何输入而前进。
语法
public boolean hasNextLine()
参数: 该函数不接受任何参数。
返回值: 当且仅当该扫描器有另一行输入时,该函数返回真。
异常 :如果这个扫描器被关闭,该函数会抛出IllegalStateException。
下面的程序说明了上述函数。
程序1 :
// Java program to illustrate the// hasNextLine() method of Scanner class in Java// without parameter import java.util.*; public class GFG1 { public static void main(String[] argv) throws Exception { String s = "gfg 2 geeks!"; // new scanner with the // specified String Object Scanner scanner = new Scanner(s); // use US locale to interpret Lines in a string scanner.useLocale(Locale.US); // iterate till end while (scanner.hasNextLine()) { // print what is scanned System.out.println(scanner.nextLine()); } // close the scanner scanner.close(); }}
输出:
gfg 2 geeks!
程序2: 展示例外情况的计划
// Java program to illustrate the// hasNextLine() method of Scanner class in Java// without parameter import java.util.*; public class GFG1 { public static void main(String[] argv) throws Exception { try { String s = "gfg 2 geeks!"; // new scanner with the // specified String Object Scanner scanner = new Scanner(s); // use US locale to interpret Lines in a string scanner.useLocale(Locale.US); scanner.close(); // iterate till end while (scanner.hasNextLine()) { // print what is scanned System.out.println(scanner.nextLine()); } // close the scanner scanner.close(); } catch (IllegalStateException e) { System.out.println("Exception is: " + e); } }}输出:
Exception is: java.lang.IllegalStateException: Scanner closed
**参考资料: ** https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#hasNextLine()
