デジタルトレンドナビ
システム開発

2024.03.26

ユーザー入力処理を行うJava「Scanner」クラス

ユーザー入力処理を行うJava「Scanner」クラス

Webサービスやアプリ開発において、ユーザーからの入力を受け付ける機能は欠かせません。Javaでユーザー入力を取得する最も一般的な方法は、Scannerクラスを使用することです。


本記事では、Java初心者でもScannerクラスを使いこなせるよう基礎から丁寧に解説していきます。

この記事でわかること

  • javaのscanner概要
  • scannerの基本的な使い方
  • サンプルコード

javaのscannerとは

javaのscannerとは

JavaのScannerクラスは、さまざまな入力ソースからテキストを読み取るためのシンプルなテキストスキャナです。

このクラスを使用すると、キーボード入力、ファイル、または他の入力ソースからのデータを読み込むことができます。

Scannerクラスはjava.utilパッケージに属しており、プリミティブ型の値(int、floatなど)や文字列を簡単に解析できるメソッドを提供します。使用方法は非常に柔軟で、区切り文字をカスタマイズすることも可能です。これにより、入力されたデータを効率的に処理し、必要な情報を抽出することが容易になります。

scannerの基本的な使い方

scannerの基本的な使い方

Scannerクラスを使うには、まずインスタンスを作成する必要があります。インスタンス化には、以下の2つの方法があります。

標準入力からの入力

Java
import java.util.Scanner;

public class Main {

public static void main(String[] args) {
// 標準入力から入力を受け取るScannerインスタンスを作成
Scanner scanner = new Scanner(System.in);

// …
}
}

ファイルからの入力

Java
import java.util.Scanner;
import java.io.File;

public class Main {

public static void main(String[] args) throws Exception {
// ファイルから入力を受け取るScannerインスタンスを作成
Scanner scanner = new Scanner(new File(“input.txt”));

// …
}
}

入力データの読み取り

Scannerクラスには、さまざまなデータ型に対応した nextXXX() メソッドが用意されています。

文字列の読み取り

Java
String name = scanner.nextLine();

数値の読み取り

Java
int age = scanner.nextInt();
double height = scanner.nextDouble();

区切り文字の設定

Java
scanner.useDelimiter(“,”);

// カンマ区切りの入力を読み取る
String[] values = scanner.next().split(“,”);

エラー処理

Java
try {
int age = scanner.nextInt();
} catch (InputMismatchException e) {
System.out.println(“不正な入力です。”);
}

終了処理

Scannerクラスを使用し終えたら、close() メソッドを呼び出してリソースを解放する必要があります。

Java
scanner.close();

サンプルコード

サンプルコード

上記の解説を踏まえたサンプルコードを紹介します。

Java
import java.util.Scanner;

public class Main {

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

System.out.print(“名前を入力してください:”);
String name = scanner.nextLine();

System.out.print(“年齢を入力してください:”);
int age = scanner.nextInt();

System.out.println(“こんにちは、” + name + “さん。” + age + “歳ですね。”);

scanner.close();
}
}

まとめ

まとめ

Javaの「Scanner」クラスについて紹介しました。

Webサービスやアプリ開発で不可欠なユーザー入力を受け付ける機能を提供します。このクラスはjava.utilパッケージに属し、キーボード、ファイルなどの多様な入力ソースからテキストデータを読み取り、プリミティブ型や文字列の解析を簡単に行えます。

Scannerの使い方には、標準入力やファイルからの入力受け取り、入力データの読み取り方法、エラー処理、終了処理が含まれます。柔軟な使用方法と区切り文字のカスタマイズ機能により、入力データを効率的に処理し、必要な情報を抽出することが可能になります。

投稿者

  • デジタルトレンドナビ編集部

    システム開発、Webサイト制作、ECサイトの構築・運用、デジタルトランスフォーメーション(DX)など、デジタルビジネスに関わる多岐の領域において、最新のトレンド情報や実践的なノウハウを発信してまいります。