我不确定如何使用
Scanner stdin = new Scanner(System.in); //Keyboard input
我在包含它的类的其他方法中在 main() 中声明。我得到“标准输入无法解析”。
您需要了解变量作用域(这里是Java 教程的链接,另一个是关于变量作用域的)。
为了在其他方法中使用该变量,您需要传递对其他方法的引用。
public static void main(String[] args)
{
Scanner stdin = new Scanner(System.in); // define a local variable ...
foo(stdin); // ... and pass it to the method
}
private static void foo(Scanner stdin)
{
String s = stdin.next(); // use the method parameter
}
或者,您可以将扫描仪声明为静态字段:
public class TheExample
{
private static Scanner stdin;
public static void main(String[] args)
{
stdin = new Scanner(System.in); // assign the static field ...
foo(); // ... then just invoke foo without parameters
}
private static void foo()
{
String s = stdin.next(); // use the static field
}
}