next()
方法语法:
public String next(); public String next(Pattern patt); public String next(String patt);
next()方法在java.util包中可用。
next()方法用于搜索并从此扫描器中获取下一个完整令牌,令牌之前和之后是符合模式的输入。
next(Pattern patt)方法用于在遇到给定Pattern(patt)时检索下一个标记。
next(String patt)方法用于在下一个标记符合由给定String(patt)形成的模式时检索下一个标记。
这些方法在将令牌表示为模式时可能会引发异常。
NoSuchElementException:如果不再存在令牌,则可能引发此异常。
IllegalStateException:如果未打开此扫描器,则可能引发此异常。
这些是非静态方法,可通过类对象访问;如果尝试使用类名称访问这些方法,则会收到错误消息。
参数:
在第一种情况下,next(),
它不接受任何参数。
在第一种情况下,next(Pattern patt),
模式patt –表示要读取的模式(patt)。
在第二种情况下,next(String patt),
字符串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