我是一个学习者(目前非常基础)。我找不到合法答案时会问问题。
我可以在公共类中声明扫描器吗,所以不需要在使用的每个函数中声明?
public class name
{
//can i declare scanner here? and how?
public static int xxx2(int kk)
{
Scanner kb=new Scanner( System.in);
//code
return kk;
}
public static int xxx1(int kk)
{
Scanner kb=new Scanner(System.in);
//code
}
}
答案 0 :(得分:5)
是的,您只需保留Scanner
作为记录。由于您使用的是System.in
,因此可以直接内联初始化它,而不必担心关闭它:
public class MyClass {
private static Scanner myScanner = new Scanner(System.in);
// Methods that can use myScanner
}
答案 1 :(得分:1)
是的!您也可以在类级别初始化变量/对象。 但是可执行代码只能存在于任何表达式之类的方法中
public class MyClass{
//this is allowed in class
private Scanner scanner = new Scanner(System.in);
public void myScannerGet(){
String s = scanner.readLine();
//this must be inside method
System.out.println(s);
}
}