Java 標準入力を取得する方法

Javaで標準入力を取得する方法を紹介します。

標準入力とは

コンピュータ上で実行されているプログラムが、特に何も指定されていない場合に標準的に利用するデータ入力元。

ここでは、プログラム実行時、キーボード入力内容を取得することです。

こちらもあわせて読みたい記事:java 標準出力をする方法

方法

Javaには、事前に用意してくれているたくさん命令文があります。

標準入力する命令文は以下の通りです。

String msg = new java.util.Scanner(System.in).nextLine();

これで、キーボード入力した内容が変数msgに代入されます。

ちなみに、他の型(int型、double型など)を取得したい場合は

byte var = new java.util.Scanner(System.in).nextByte(); //byte型取得
short var = new java.util.Scanner(System.in).nextShort(); //short型取得
int var = new java.util.Scanner(System.in).nextInt(); //int型取得
long var = new java.util.Scanner(System.in).nextLong(); //long型取得
float var = new java.util.Scanner(System.in).nextFloat(); //float型取得
double var = new java.util.Scanner(System.in).nextDouble(); //double型取得
boolean var = new java.util.Scanner(System.in).nextBoolean(); //boolean型取得
char var = new java.util.Scanner(System.in).next().charAt(0); //char型取得
String var = new java.util.Scanner(System.in).nextLine(); //string型取得

また、想定した型と違う型を入力すると…

Exception in thread "main" java.util.InputMismatchException:

というエラーが出ます。

サンプルコード(BMI計算)

体重(kg)と身長(m)を入力させて、BMIを計算するプログラムを作ってみます。

class BMI{
    public static void main(String[] args){
        double bmi;
        System.out.print("Input your weight(kg).");
        double weight = new java.util.Scanner(System.in).nextDouble();
        System.out.print("Input your height(m).");
        double height = new java.util.Scanner(System.in).nextDouble();
        bmi = weight / Math.pow(height,2);
        System.out.println("Your BMI is "+ bmi);
    }
}

以上、Javaで標準入力する方法でした。