在程序中使用多个扫描仪对象的优点或用途是什么?
Scanner sc = new Scanner(System.in);
与
相反Scanner sc1 = new Scanner(System.in);
Scanner sc2 = new Scanner(System.in);
在同一个程序中。
答案 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();