有没有一种方法可以使用方法具有的String参数值来命名对象?

时间:2020-06-07 09:50:58

标签: java string parameters scope java.util.scanner

我已经声明了一个Scanner对象,我想要一个方法来设置Scanner的名称。我想到了这样的事情:

public static void ScannerSetUp(String ScannerName) {
        Scanner ScannerName = new Scanner(System.in);
    }

但是我收到一条消息,指出该变量已在范围中定义。有人知道怎么做吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

在Java中,当您在方法参数中定义了一些变量时(这些变量也是局部变量,但是如果您想更具体一些,可以将这些变量称为参数化变量或自变量),或者在方法中将它们称为局部变量。 因此,这些变量的生命周期仅在范围内(Scope表示包围它们的最近的花括号)因此,在此处,您要尝试在同一范围内用相同的名称定义两个局部变量,这就是为什么您遇到该编译时错误的原因。

解决方案: 但是关于您尝试执行的操作完全没有用,因为您尝试在运行时中分配新的变量名称是完全没有用的,而且我认为不可能像不使用动态变量的Java语言一样。< / strong>

最佳做法:尝试使用驼峰大小写来定义变量----> scannerName会更好。