我已经声明了一个Scanner对象,我想要一个方法来设置Scanner的名称。我想到了这样的事情:
public static void ScannerSetUp(String ScannerName) {
Scanner ScannerName = new Scanner(System.in);
}
但是我收到一条消息,指出该变量已在范围中定义。有人知道怎么做吗?
谢谢。
答案 0 :(得分:0)
在Java中,当您在方法参数中定义了一些变量时(这些变量也是局部变量,但是如果您想更具体一些,可以将这些变量称为参数化变量或自变量),或者在方法中将它们称为局部变量。 因此,这些变量的生命周期仅在范围内(Scope表示包围它们的最近的花括号)因此,在此处,您要尝试在同一范围内用相同的名称定义两个局部变量,这就是为什么您遇到该编译时错误的原因。
解决方案: 但是关于您尝试执行的操作完全没有用,因为您尝试在运行时中分配新的变量名称是完全没有用的,而且我认为不可能像不使用动态变量的Java语言一样。< / strong>
最佳做法:尝试使用驼峰大小写来定义变量----> scannerName会更好。