導入
ここまでのプログラムは、コードの中に値を直接書いてきました。しかし実際のプログラムの多くは、実行時に外部から値を受け取ります。Javaで標準入力(キーボード入力)を読み取るしくみが Scanner です。
説明
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("名前を入力してください");
String name = sc.nextLine();
System.out.println(name + "さん、こんにちは!");
}
}
import java.util.Scanner;…Scannerはjava.utilパッケージにあるので、ファイルの先頭で読み込みます。new Scanner(System.in);… 標準入力(キーボード)から読み取るScannerを作ります。sc.nextLine();… 1行分の文字列を読み取ります。- 数値を直接読みたいときは
sc.nextInt();(整数)やsc.nextDouble();(小数)も使えます。
この実行環境では、エディタ下の 「標準入力」欄 に値を書いてから実行します。上の例なら、標準入力に 太郎 と入れて実行すると、name に "太郎" が入ります。
やってみよう
下のエディタの「標準入力」欄にいろいろな名前を入れて実行し、表示されるあいさつが変わることを確かめましょう。sc.nextLine() を sc.nextInt() に変えて、標準入力に数値を入れて試してみるのもよい練習になります。
演習
標準入力から整数を1つ sc.nextInt() で読み取り、その2倍を表示してください。標準入力欄に 21 と入力して実行し、42 が表示されることを確認しましょう。
ヒント1を見る
Scanner sc = new Scanner(System.in); int n = sc.nextInt(); で読み取ります。
ヒント2を見る
System.out.println(n * 2);。標準入力欄には 21 と入れてください。