Java Scanner hasNextInt() 方法
示例
打印字符串中每个整数的值
// Create a scanner object
Scanner myObj = new Scanner("An int is a number between -2,147,483,648 and 2,147,483,647");
// Print the value of every int in the scanner
while (myObj.hasNext()) {
if (myObj.hasNextInt()) {
System.out.println(myObj.nextInt());
} else {
myObj.next();
}
}
定义和使用
如果下一个标记代表可以存储在 int
数据类型中的数字,则 hasNextInt()
方法返回 true,它可以是 -2,147,483,648 到 2,147,483,647 之间的任何整数。
扫描仪能够解释数字分组,例如使用逗号分隔 3 位数。分组格式取决于扫描仪的区域设置,可以使用 useLocale()
方法更改。
如果使用 radix 参数,则它使用基数来解释数字。例如,基数为 16 将解释数字为十六进制(数字 0 到 9 和 A 到 F)。如果没有使用 radix 参数,则它使用扫描仪的基数来解释数字,默认情况下为 10,但可以使用 useRadix()
方法更改。
什么是标记?
标记是由分隔符分隔的字符序列。默认分隔符是一个空格字符块,但可以使用 useDelimiter()
方法更改。
语法
以下之一
public boolean hasNextInt()
public boolean hasNextInt(int radix)
参数值
参数 | 描述 |
---|---|
radix | 可选。指定用于解释数字的基数。基数指定在数字中可以用来表示数字的符号数量。 |
技术细节
返回值 | 一个 boolean 值,如果下一个标记代表一个 int 值,则为 true。 |
---|---|
抛出 | IllegalStateException - 如果扫描仪已关闭。 |