Java でコンソールから入力を取得する

Rupam Yadav 2023年10月12日
  1. Java の Scanner クラスを使してコンソールからの入力の取得
  2. Java の Scanner クラスを用して整数入力の読み込み
  3. Java の Scanner クラスを使用してブール値入力の読み取る
Java でコンソールから入力を取得する

このチュートリアルでは、Java の Scanner クラスを見て、このクラスを使ってコンソールから入力を読み取る方法を学びます。Scanner クラスは、Java パッケージ java.util.Scanner から取得されます。

以下の例では、Scanner のメソッドを使って、StringIntboolean などの異なるデータ型の入力を読み込む方法を説明します。

Java の Scanner クラスを使してコンソールからの入力の取得

String データ型は、コンソールから入力を取得する際によく使われます。Scanner には、入力を String として受け取る next()nextLine() の 2つの関数があります。これら 2つの関数の違いは、next() は空白に出会うまで入力を受けとり、nextLine() は改行するまで入力を読み取る点です。

この例では、1 行に複数の単語を記述したい場合があるので、nextLine() メソッドを使用します。

import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    System.out.println("Please enter your name: ");
    Scanner sc = new Scanner(System.in);
    String yourName = sc.nextLine();
    System.out.println("Hello " + yourName);
  }
}

出力:

Please enter your name: 
Mike Stuart
Hello Mike Stuart

Java の Scanner クラスを用して整数入力の読み込み

また、コンソールから Scanner を用いて int の値を取得することもできます。nextInt() は整数の値を読み取るのに役立ちます。以下の例では、一般的に整数として読まれる年齢を尋ねています。

import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    System.out.println("Please enter your age: ");
    Scanner sc = new Scanner(System.in);
    int scanAge = sc.nextInt();
    System.out.println("You are " + scanAge + " years old");
  }
}

出力:

Please enter your age: 
23
You are 23 years old

Java の Scanner クラスを使用してブール値入力の読み取る

また、boolean の値を入力として受け取ることもできます。Scanner.nextBoolean()truefalse のどちらか、あるいは 01 のどちらかしか読み込まません。

以下の例では、入力を受け取り、入力が true または false であったかどうかを確認します。

import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    System.out.println("Are you studying in college? Answer as True or False");
    Scanner scanStudy = new Scanner(System.in);
    boolean studyingInCollege = scanStudy.nextBoolean();
    if (studyingInCollege) {
      System.out.println("You are studying in college");
    } else {
      System.out.println("You are not studying in college");
    }
  }
}

出力:

Are you studying in college? Answer as True or False
false
You are not studying in college
著者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

関連記事 - Java Console