制作新的扫描仪时,使用相同的输入名称是否有不利之处?

When making a new Scanner is there a downside to using the same input name?

我刚刚了解了扫描仪,但我注意到一件事是当我写

Scanner input = new Scanner(System.in); //Creates scanner object
System.out.println("Enter a line: "); //Ask for input
String line = input.nextLine(); //Enter input
System.out.println("You entered: " + line); //Output the input
System.out.println("And enter a number: ");
int value = input.nextInt();
System.out.println(value + " " + line);

最上面的代码行可用于我想要获取输入的两件事(字符串和整数)。我的问题是,在这种情况下,我是否应该为扫描仪 'input' 使用相同的名称来处理我想输入的多个内容。我是新手,所以即使我找不到使用相同名称可能带来的问题,如果以后在大型程序中这可能会出现问题?

看到扫描仪实例 input 是一个 reference 并且您通过 指定 new Scanner(System.in);.

stream 中,所有内容都在 bytes 中,方法 nextLine()nextInt() 等将扫描/解析 流并为您提供该*特定类型的数据。

因此使用相同的扫描器实例input没问题,因为您在收到数据时解析数据

是的,您可以使用相同的扫描器对象,直到它未关闭并指向输入流。 如果您不再需要它,请使用关闭方法关闭扫描仪。