Help us understand the problem. What is going on with this article?

Scannerを用いた入力内容の取得(Java)

Scannerとは

コンソールに値を「入力」し、その値をプログラム内で使用するための外部ライブラリです。
この記事では、文字列を受け取る方法と、数値を受け取る方法について記述します。

文字列で受け取る方法について

文字列で受け取る手順は以下になります。

  1. ライブラリの読み込み
  2. Scannerの初期化
  3. 入力内容を受け取るための処理

ライブラリの読み込み

Scannerを利用するためには外部ライブラリを読み込むための記述が必要になります。
まず、class定義より上にimport java.util.Scanner;の記述を追加します。

Main.java
import java.util.Scanner;

class Main {
  public static void main (String[] args) {
    System.out.print("名前: ");
  }
}

Scannerの初期化

次に、Scannerを初期化するために、Scanner scanner = new Scanner(System.in);の記述を追加します。
new Scanner(System.in)でScannerを初期化し、変数scannerに代入しています。

Main.java
import java.util.Scanner;

class Main {
  public static void main (String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.print("名前: ");
  }
}

入力内容を受け取るための処理

最後に、String name = scanner.next();の記述を追加します。
scanner.next()と記述することで、変数nameに入力された文字列を代入できます。

Main.java
import java.util.Scanner;

class Main {
  public static void main (String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.print("名前: ");
    String name = scanner.next();
    System.out.println("こんにちは" + name + "さん");
  }
}

数値で受け取る方法について

数値で受け取る手順についても以下の手順になりますが、文字列で受け取る手順と共通部分があるため、1と2は省略します。

  1. ライブラリの読み込み
  2. Scannerの初期化
  3. 入力内容を受け取るための処理

入力内容を受け取るための処理

以下のファイルに数値で受け取るための記述を追加していきます。
(手順1、2を終えた状態です)

Main.java
import java.util.Scanner;

class Main {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);

    System.out.print("年齢:");

    System.out.print("身長(m):");

  }
}

年齢の値を受け取るために、
int age = scanner.nextInt();
の記述を追加します。
文字列で受け取る手順との相違点としてnextInt()と記述することで、データ型を指定しています。
なお、文字列で受け取るときに、nextString()などと記述するとエラーになるので注意です。

Main.java
import java.util.Scanner;

class Main {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);

    System.out.print("年齢:");
    int age = scanner.nextInt();

    System.out.print("身長(m):");
    double height = scanner.nextDouble();

  }
}
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした