Scanner.hasNext() 方法是 Java 中 Scanner 类的一个方法。该方法用于返回 boolean 类型的值,表示该扫描器实例中是否还有下一个验证前缀。
一、Scanner.hasNext() 的基本用法
Scanner.hasNext() 方法用于判断扫描器中是否有下一个令牌,如果有则返回 true,否则返回 false。
import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一个字符串:"); boolean hasToken = scanner.hasNext(); System.out.println("hasNext = " + hasToken); scanner.close(); } }
上述代码中,我们使用Scanner类的实例 scanner 从控制台输入一个字符串,并通过hasNext()方法判断该scanner实例中是否有下一个令牌。
二、Scanner.hasNext() 判断下一个令牌类型
我们还可以使用Scanner.hasNext()方法判断输入是否为特定类型的数据。例如,我们可以使用Scanner.hasNextInt()方法判断下一个令牌是否为整型。
import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一个整数:"); boolean hasInt = scanner.hasNextInt(); System.out.println("hasNextInt = " + hasInt); scanner.close(); } }
上述代码中,我们通过hasNextInt()方法判断下一个令牌是否为整型数值,并输出判断结果。可以看出,该方法只能判断下一个令牌是否为整型数值,而不能判断其他类型的数据。而如果下一个令牌不是整型数值,则该方法不会等待输入,并立即返回 false。
三、Scanner.hasNext() 判断下一个令牌格式
除了判断下一个令牌的类型之外,Scanner类还提供了一些方法用于判断输入是否符合特定的格式。例如,我们可以使用Scanner.hasNext(String pattern)方法判断下一个令牌是否符合指定的格式。
import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一个含有字母的字符串:"); boolean hasPattern = scanner.hasNext("[a-zA-Z]+"); System.out.println("hasNextPattern = " + hasPattern); scanner.close(); } }
上述代码中,我们使用Scanner.hasNext(String pattern)方法判断下一个令牌是否符合指定的正则表达式,其中正则表达式 [a-zA-Z]+ 用于匹配一个或多个字母字符。如果下一个令牌符合该正则表达式,则返回 true,否则返回 false。
四、Scanner.hasNext() 等待输入
Scanner.hasNext()方法将会等待用户输入,直到用户输入下一个令牌为止。如果用户一直没有输入下一个令牌,则该方法将一直等待。
import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一个整数:"); while(!scanner.hasNextInt()){ System.out.print("请重新输入一个整数:"); scanner.next(); } int num = scanner.nextInt(); System.out.println("输入的整数是:" + num); scanner.close(); } }
上述代码中,我们使用while循环等待用户输入整数。如果用户没有输入整数,则会一直提示并等待用户重新输入,直到用户输入一个整数为止。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/240482.html