使用多台扫描仪有什么好处?

What is the advantage of using multiple scanners?

在一个程序中使用多个扫描仪对象有什么好处或用途?

Scanner sc = new Scanner(System.in); 

相对于

Scanner sc1 = new Scanner(System.in);
Scanner sc2 = new Scanner(System.in);

在同一个程序中。

我看不出第二段代码有什么好处:

Scanner sc1 = new Scanner(System.in);
Scanner sc2 = new Scanner(System.in);

事实上存在一些风险,如果您在另一个扫描器使用完之前关闭一个扫描器(并因此关闭 System.in),则存在风险。

相反,我确实可以看到有时使用多个扫描仪,但只有一个主扫描仪链接到 System.in。其他扫描器可以解析获得的一行。例如,使用主 Scanner 获取每一行文本,然后使用第二个 Scanner,该 Scanner 已被送入各个行以解析行中包含的信息。

例如,

Scanner sc = new Scanner(System.in); 
while (sc.hasNextLine()) {
    String line = sc.nextLine();
    Scanner lineScanner = new Scanner(line);
    //.... parse line...
    lineScanner.close();
}
sc.close();