制作新的扫描仪时,使用相同的输入名称是否有不利之处?
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
没问题,因为您在收到数据时解析数据。
是的,您可以使用相同的扫描器对象,直到它未关闭并指向输入流。
如果您不再需要它,请使用关闭方法关闭扫描仪。
我刚刚了解了扫描仪,但我注意到一件事是当我写
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
没问题,因为您在收到数据时解析数据。
是的,您可以使用相同的扫描器对象,直到它未关闭并指向输入流。 如果您不再需要它,请使用关闭方法关闭扫描仪。