プロンプトを表示して入力を受け取る

Javaでコンソールから入力を受け取るにはSystem.console()を使う。 (JDK 1.6以降)

import java.io.Console;

public class Main {
    public static void main(String[] args) {
        Console console = System.console();
        String input = console.readLine("input: ");
        System.out.println(input);
    }
}

readLineメソッドの引数にプロンプトを指定すると、そのプロンプトが表示されて入力待ちになる。
入力された文字列はString型で返される。

実行すると以下のようにプロンプトが表示される。

$ javac Main.java
$ java Main
input: test
test

パスワードを入力する

パスワードなどの入力を隠して受け取る場合はreadPasswordメソッドを使う。

import java.io.Console;

public class Main {
    public static void main(String[] args) {
        Console console = System.console();
        char[] password = console.readPassword("input password: ");
        System.out.println(password);
    }
}

readPasswordの場合は入力した文字列がコンソールから隠されて表示される。
readLineメソッドと同様にコンソールへ入力した値が戻り値となるが、readLineメソッドではString型で返されるのに対してreadPasswordメソッドではchar[]型で返される。

実行すると以下のようにパスワードを入力すると表示されない。

$ javac Main.java
$ java Main
input password: