Java Scanner next()方法与示例
扫描仪类next()方法
语法:
public String next();
public String next(Pattern patt);
public String next(String patt);next()方法在java.util包中可用。
next()方法用于搜索并从此扫描器中获取下一个完整令牌,令牌之前和之后是符合模式的输入。
next(Patternpatt)方法用于在遇到给定Pattern(patt)时检索下一个标记。
next(Stringpatt)方法用于在下一个标记符合由给定String(patt)形成的模式时检索下一个标记。
这些方法在将令牌表示为模式时可能会引发异常。
NoSuchElementException:如果不再存在令牌,则可能引发此异常。
IllegalStateException:如果未打开此扫描器,则可能引发此异常。
这些是非静态方法,可通过类对象访问;如果尝试使用类名称访问这些方法,则会收到错误消息。
参数:
在第一种情况下,next(),
它不接受任何参数。
在第一种情况下,next(Patternpatt),
模式patt–表示要读取的模式(patt)。
在第二种情况下,next(Stringpatt),
字符串patt–表示用于定义要读取的图案(图案)的字符串。
返回值:
在所有情况下,该方法的返回类型都是String,它将检索下一个标记
范例1:
//Java程序是演示示例
//的next()扫描仪的方法
import java.util.*;
import java.util.regex.*;
public class Next {
public static void main(String[] args) {
String str = "Java Programming! 3 * 8= 24";
//实例化扫描仪
Scanner sc = new Scanner(str);
//通过使用next()方法是
//显示下一个完整的
//令牌
String next = sc.next();
System.out.println("sc.next(): " + next);
//扫描仪关闭
sc.close();
}
}输出结果
sc.next(): Java
范例2:
import java.util.*;
import java.util.regex.*;
public class Next {
public static void main(String[] args) {
String str = "Java Programming! 3 * 8= 24";
//实例化扫描仪
Scanner sc = new Scanner(str);
//通过使用net(Pattern)方法是
//在遇到下一个令牌时返回
//给定的模式
String next_p = sc.next(Pattern.compile("J..a"));
System.out.println("sc.next(Pattern.compile(J..a)): " + next_p);
//扫描仪关闭
sc.close();
}
}输出结果
sc.next(Pattern.compile(J..a)): Java
范例3:
import java.util.*;
import java.util.regex.*;
public class Next {
public static void main(String[] args) {
String str = "Java Programming! 3 * 8= 24";
//实例化扫描仪
Scanner sc = new Scanner(str);
//通过使用net(String)方法是
//在遇到下一个令牌时返回
//给定的模式 formed from the given
//字符串
String next_s = sc.next("Java");
System.out.println("sc.next(Java)): " + next_s);
//扫描仪关闭
sc.close();
}
}输出结果
sc.next(Java)): Java