Java Scanner nextInt()方法与示例

扫描仪类nextInt()方法

语法:

    public int nextInt();
    public int nextInt(int rad);
  • nextInt()方法在java.util包中可用。

  • nextInt()方法用于读取输入的下一个标记,作为此Scanner的隐式基数(rad)处的int值。

  • nextInt(int rad)方法用于读取输入的下一个标记作为此Scanner的显式或给定基数(rad)的int值。

  • 在将输入表示为int时,这些方法可能会引发异常。

    • InputMismatchException:当输入的下一个标记不匹配时,可能引发此异常。

    • NoSuchElementException:如果不存在这样的元素,则可能引发此异常。

    • IllegalStateException:如果未打开此扫描器,则可能引发此异常。

  • 这些是非静态方法,可通过类对象访问;如果尝试使用类名称访问这些方法,则会收到错误消息。

参数:

  • 在第一种情况下,nextInt()

    • 它不接受任何参数。

  • 在第二种情况下,nextInt(int rad)

    • int rad –表示用于将标记作为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