Java Scanner hasNextInt() 方法
定义和用法
hasNextInt()
方法用于检查扫描器中的下一个标记(token)是否表示一个可以由 int 数据类型存储的数字,即介于 -2,147,483,648 和 2,147,483,647 之间的任意整数。
扫描器能够解释数字分组,例如使用逗号来分隔每三位数字。数字分组的格式取决于扫描器的区域设置,这可以通过 useLocale()
方法来进行更改。
如果使用了 radix 参数,那么扫描器会按照该基数来解释数字。例如,基数为 16 时,会将数字解释为十六进制(数字 0 到 9 和字母 A 到 F)。
如果没有使用 radix 参数,那么扫描器会按照其自身的基数来解释数字,默认基数为 10,但可以通过 useRadix() 方法进行更改。
什么是标记(token)?
标记是由分隔符分隔开的一串字符。默认的分隔符是一组空白字符,但可以使用 useDelimiter()
方法来更改分隔符。
实例
打印字符串中每个整数的值:
// 创建一个扫描器对象 Scanner myObj = new Scanner("一个 int 是介于 -2,147,483,648 和 2,147,483,647 之间的数字"); // 打印扫描器中每个整数的值 while (myObj.hasNext()) { if (myObj.hasNextInt()) { System.out.println(myObj.nextInt()); } else { myObj.next(); // 如果不是整数,则跳过该标记 } } // 注意:在实际应用中,请确保在不再需要扫描器时调用 myObj.close() 以关闭它。
语法
其中之一:
public boolean hasNextInt() public boolean hasNextInt(int radix)
参数
参数 | 描述 |
---|---|
radix |
可选。指定用于解释数字的基数。 基数指定了在数字中可以用来表示一个数码的不同符号的数量。 |
技术细节
返回: | 如果下一个标记表示一个 int 值,则返回一个布尔值 true 。 |
---|---|
抛出: | IllegalStateException - 如果扫描器已经被关闭。 |