0

使い方がわからない

Scanner stdin = new Scanner(System.in);  //Keyboard input

それを含むクラスの他のメソッドの main() で宣言します。「stdin を解決できません」というメッセージが表示されます。

4

1 に答える 1

5

変数スコープについて学ぶ必要があります( 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
  }
}
于 2012-04-27T01:04:46.980 に答える