Java Scanner nextLong()方法与示例

扫描仪类nextLong()方法

语法:

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

  • nextLong()方法用于读取输入的下一个令牌,作为此Scanner的隐含基数处的长值。

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

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

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

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

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

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

参数:

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

    • 它不接受任何参数。

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

    • int rad –表示用于操纵令牌的基数为长值。

返回值:

在这两种情况下,方法的返回类型都是long,它会检索从输入读取的long值。

范例1:

//Java程序演示示例 
//的nextLong()扫描仪的方法

import java.util.*;
import java.util.regex.*;

public class NextLong {
 public static void main(String[] args) {
  String str = "Java Programming! 3 * 8= 24 + b";
  long l = 101245l;

  //实例化扫描仪
  Scanner sc = new Scanner(str);

  while (sc.hasNext()) {
   //通过使用nextLong()方法isto-
   //返回下一个标记 
   //长于隐式基数
   if (sc.hasNextLong()) {
    long next_l = sc.nextLong();
    System.out.println("sc.nextLong()): " + next_l);
   }
   System.out.println(sc.next());
  }

  //扫描仪关闭
  sc.close();
 }
}

输出结果

Java
Programming!
sc.nextLong()): 3
*
8=
sc.nextLong()): 24
+
b

范例2:

import java.util.*;
import java.util.regex.*;

public class NextLong {
 public static void main(String[] args) {
  String str = "Java Programming! 3 * 8= 24 + b";
  long l = 101245l;

  //实例化扫描仪
  Scanner sc = new Scanner(str);

  while (sc.hasNext()) {
   //通过使用nextLong(9)方法isto-
   //返回下一个标记 
   //长于显式基数
   if (sc.hasNextLong()) {
    long next_l = sc.nextLong(9);
    System.out.println("sc.nextLong(9)): " + next_l);
   }
   System.out.println(sc.next());
  }

  //扫描仪关闭
  sc.close();
 }
}

输出结果

Java
Programming!
sc.nextLong(9)): 3
*
8=
sc.nextLong(9)): 22
+
b