Java Scanner nextInt()方法与示例
扫描仪类nextInt()
方法
语法:
public int nextInt(); public int nextInt(int rad);
nextInt()方法在java.util包中可用。
nextInt()方法用于读取输入的下一个标记,作为此Scanner的隐式基数(rad)处的int值。
nextInt(intrad)方法用于读取输入的下一个标记作为此Scanner的显式或给定基数(rad)的int值。
在将输入表示为int时,这些方法可能会引发异常。
InputMismatchException:当输入的下一个标记不匹配时,可能引发此异常。
NoSuchElementException:如果不存在这样的元素,则可能引发此异常。
IllegalStateException:如果未打开此扫描器,则可能引发此异常。
这些是非静态方法,可通过类对象访问;如果尝试使用类名称访问这些方法,则会收到错误消息。
参数:
在第一种情况下,nextInt(),
它不接受任何参数。
在第二种情况下,nextInt(intrad),
intrad–表示用于将标记作为int操作的基数。
返回值:
在这两种情况下,方法的返回类型都是int,它检索从输入中读取的int。
范例1:
//Java程序是演示示例 //的nextInt()扫描仪的 import java.util.*; import java.util.regex.*; public class NextInt { public static void main(String[] args) { String str = "Java Programming! 3 * 8= 24 + b"; byte b = 10; //实例化扫描仪 Scanner sc = new Scanner(str); while (sc.hasNext()) { //通过使用nextInt()方法isto- //返回下一个标记 //int的默认基数 if (sc.hasNextInt()) { int next_i = sc.nextInt(); System.out.println("sc.nextInt()): " + next_i); } System.out.println(sc.next()); } //扫描仪关闭 sc.close(); } }
输出结果
Java Programming! sc.nextInt()): 3 * 8= sc.nextInt()): 24 + b
范例2:
import java.util.*; import java.util.regex.*; public class NextInt { public static void main(String[] args) { String str = "Java Programming! 3 * 8= 24 + b"; byte b = 10; //实例化扫描仪 Scanner sc = new Scanner(str); while (sc.hasNext()) { //通过使用nextInt(9)方法isto- //返回下一个标记 //给定基数的int- if (sc.hasNextInt()) { int next_i = sc.nextInt(9); System.out.println("sc.nextInt(9)): " + next_i); } System.out.println(sc.next()); } //扫描仪关闭 sc.close(); } }
输出结果
Java Programming! sc.nextInt(9)): 3 * 8= sc.nextInt(9)): 22 + b