我可以在公共课程中声明扫描程序吗?

时间:2018-10-16 06:57:43

标签: java java.util.scanner

我是一个学习者(目前非常基础)。我找不到合法答案时会问问题。

我可以在公共类中声明扫描器吗,所以不需要在使用的每个函数中声明?

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
    }
}

2 个答案:

答案 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);
  }

}