Ris*_*Ris 7 java global-variables java.util.scanner
将输入扫描程序(如键盘)声明为类的全局变量是否被认为是错误的编程习惯?如:
private static Scanner input = new Scanner(System.in);
Run Code Online (Sandbox Code Playgroud)
我正在处理来自各种方法的大量输入,并且似乎很容易将键盘发送到每个方法
使用全局变量似乎要容易得多,但从长远来看,它可能会使代码难以维护,您是否考虑过创建一个类来处理键盘输入?通过良好的关注点分离,您最终可以获得更清晰的代码.
https://en.wikipedia.org/wiki/Separation_of_concerns
例如,如果您创建了一个用于获取输入和/或生成输出的特殊类,那么最好
class IO{
Scanner scanner ;
public Scanner getScanner(){
return new Scanner();
}
public Scanner getScanner(File file){
return new Scanner(new FileReader(file));
}
... // other types of scanners
}
Run Code Online (Sandbox Code Playgroud)