プロンプトを表示して入力を受け取る
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:
\第一線のプログラマーの行動原理を学べる!/