Java Scanner nextByte()方法与示例

扫描仪类nextByte()方法

语法:

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

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

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

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

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

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

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

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

参数:

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

    • 它不接受任何参数。

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

    • int rad –表示用于将令牌作为字节操作的基数。

返回值:

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

示例

//Java程序是演示示例
//的nextByte()扫描仪的

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

public class NextByte {
 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()) {
   //通过使用nextByte()方法isto-
   //返回下一个标记 
   //默认基数中的字节
   if (sc.hasNextByte()) {
    byte next_b = sc.nextByte();
    System.out.println("sc.nextByte()): " + next_b);
   }

   //通过使用nextByte(radix)返回
   //给定基数的字节值
   if (sc.hasNextByte()) {
    byte next_r = sc.nextByte(9);
    System.out.println("sc.nextByte(9)): " + next_r);
   }
   sc.next();
  }
  //扫描仪关闭
  sc.close();
 }
}

输出结果

sc.nextByte()): 3
sc.nextByte()): 24