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

时间:2015-11-11 23:04:29

标签: java java.util.scanner

在程序中使用多个扫描仪对象的优点或用途是什么?

Scanner sc = new Scanner(System.in); 

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

在同一个程序中。

1 个答案:

答案 0 :(得分:9)

我认为第二位代码没有任何优势:

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

事实上,如果您在使用扫描仪完成其他扫描仪之前关闭一个扫描仪(以及System.in),则存在一定的风险。

相反,我肯定会看到有时使用多个扫描仪,但只有一个主扫描仪链接到System.in。其他扫描仪可以解析获得的线。例如,使用主扫描程序获取每行文本,然后使用第二个扫描程序,该扫描程序已经输入各行以解析行中保存的信息。

如,

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