更新时间:2022-10-17 20:08:41
Scanner.hasNextXXX
方法概述java.util.Scanner
有许多 hasNextXXX
方法可用于验证输入.以下是所有这些的简要概述:
hasNext()
- 它有任何令牌吗?hasNextLine()
- 它还有另一行输入吗?hasNextInt()
- 是否有可以解析为 int
的标记?hasNextFloat()
, hasNextByte()
, hasNextShort()
, hasNextLong()
和 hasNextBoolean()
hasNextBigInteger()
和 hasNextBigDecimal()
Scanner
具有更多功能,因为它基于正则表达式.一项重要功能是 useDelimiter(String pattern)
,它让你定义什么模式分隔你的令牌.还有 find
和 skip
方法忽略分隔符.
下面的讨论将尽可能简化正则表达式,所以重点仍然放在 Scanner
上.
这是一个使用 hasNextInt()
从输入中验证正 int
的简单示例.
Scanner sc = new Scanner(System.in);整数;做 {System.out.println("请输入正数!");而 (!sc.hasNextInt()) {System.out.println("这不是数字!");sc.next();//这个很重要!}数字 = sc.nextInt();} while (number
这是一个示例会话:
请输入正数!
五
这不是数字!
-3
请输入一个正数!
5
谢谢!得到 5