Java 扫描器 hasNextInt() 方法
示例
打印字符串中每个整数的值:
// 创建一个 Scanner 对象
Scanner myObj = new Scanner("An int is a number between -2,147,483,648 and 2,147,483,647");
// 打印 Scanner 中每个整数的值
while (myObj.hasNext()) {
if (myObj.hasNextInt()) {
System.out.println(myObj.nextInt());
} else {
myObj.next();
}
}
定义和用法
hasNextInt() 方法返回 true,表示下一个标记表示一个可以用 int 数据类型存储的数字,即介于 -2,147,483,648 和 2,147,483,647 之间的任何整数。
扫描器能够解释数字分组,例如使用逗号分隔 3 位数字。分组格式取决于扫描器的区域设置,可以使用 useLocale() 方法进行更改。
如果使用 radix 参数,则会根据指定的基数解释数字。例如,基数为 16 时,数字将被解释为十六进制数(数字 0 到 9 和 A 到 F)。如果未使用 radix 参数,则它将使用扫描器的基数来解释数字,默认情况下为 10,但可以使用 useRadix() 方法更改。
什么是 token?
词法单元(token)是由分隔符与其他词法单元分隔的字符序列。默认分隔符是一段空白字符,但可以使用useDelimiter()方法进行更改。
语法
以下选项之一:
public boolean hasNextInt()
public boolean hasNextInt(int radix)
参数值
| 参数 | 描述 |
|---|---|
| radix | 可选。指定用于解释数字的基数。基数指定可以用多少种不同的符号来表示数字中的一个数字。 |
技术细节
| 返回值: | 返回一个布尔值,如果下一个标记表示一个整数值,则该值为 true。 |
|---|---|
| 抛出异常: | IllegalStateException - 如果扫描器已关闭。 |

