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

