Java – キーボード入力された値で判定する方法
Javaでキーボード入力された値を判定するには、主にScanner
クラスを使用します。
System.in
を引数にしてScanner
オブジェクトを作成し、nextLine()
やnextInt()
などのメソッドで入力を取得します。
取得した値を条件分岐(例: if
文やswitch
文)で判定します。
例えば、文字列を比較する場合はequals()
メソッドを使用します。
キーボード入力を利用したプログラムの基本
Javaでは、キーボードからの入力を受け取るために、Scanner
クラスを使用します。
このクラスを使うことで、ユーザーが入力したデータを簡単に取得することができます。
以下に、Scanner
クラスを使った基本的なプログラムの例を示します。
import java.util.Scanner; // Scannerクラスをインポート
public class App {
public static void main(String[] args) {
// Scannerオブジェクトを作成
Scanner scanner = new Scanner(System.in);
// ユーザーに入力を促すメッセージ
System.out.println("整数を入力してください:");
// ユーザーからの入力を取得
int userInput = scanner.nextInt(); // 整数を取得
// 入力された値を表示
System.out.println("入力された値は:" + userInput + " です。");
// Scannerを閉じる
scanner.close(); // リソースを解放
}
}
整数を入力してください:
5
入力された値は:5 です。
このプログラムでは、Scanner
クラスを使ってユーザーから整数を入力してもらい、その値を表示しています。
nextInt()
メソッドを使用することで、整数型の入力を簡単に取得できます。
入力が完了したら、scanner.close()
メソッドでリソースを解放することが重要です。
入力値を判定する方法
Javaでは、ユーザーからの入力値を判定するために、条件分岐を使用します。
if
文やswitch
文を使って、入力された値に基づいて異なる処理を実行することができます。
以下に、入力値を判定する基本的な方法を示します。
import java.util.Scanner; // Scannerクラスをインポート
public class App {
public static void main(String[] args) {
// Scannerオブジェクトを作成
Scanner scanner = new Scanner(System.in);
// ユーザーに入力を促すメッセージ
System.out.println("1から10の整数を入力してください:");
// ユーザーからの入力を取得
int userInput = scanner.nextInt(); // 整数を取得
// 入力値を判定
if (userInput < 1 || userInput > 10) {
// 入力値が範囲外の場合
System.out.println("入力された値は範囲外です。1から10の整数を入力してください。");
} else {
// 入力値が範囲内の場合
System.out.println("入力された値は:" + userInput + " です。");
}
// Scannerを閉じる
scanner.close(); // リソースを解放
}
}
1から10の整数を入力してください:
15
入力された値は範囲外です。1から10の整数を入力してください。
このプログラムでは、ユーザーから1から10の整数を入力してもらい、その値が範囲内かどうかを判定しています。
if
文を使用して、入力値が範囲外の場合にはエラーメッセージを表示し、範囲内の場合には入力された値を表示します。
このように、条件分岐を使うことで、ユーザーの入力に応じた柔軟な処理が可能になります。
実践例:キーボード入力を使ったプログラム
ここでは、キーボードからの入力を利用して、簡単な計算機プログラムを作成します。
このプログラムでは、ユーザーに2つの整数を入力してもらい、その合計、差、積、商を計算して表示します。
import java.util.Scanner; // Scannerクラスをインポート
public class App {
public static void main(String[] args) {
// Scannerオブジェクトを作成
Scanner scanner = new Scanner(System.in);
// ユーザーに1つ目の整数を入力させる
System.out.println("1つ目の整数を入力してください:");
int firstNumber = scanner.nextInt(); // 整数を取得
// ユーザーに2つ目の整数を入力させる
System.out.println("2つ目の整数を入力してください:");
int secondNumber = scanner.nextInt(); // 整数を取得
// 計算結果を表示
System.out.println("合計:" + (firstNumber + secondNumber)); // 合計
System.out.println("差:" + (firstNumber - secondNumber)); // 差
System.out.println("積:" + (firstNumber * secondNumber)); // 積
// 商を計算する際のエラーチェック
if (secondNumber != 0) {
System.out.println("商:" + (firstNumber / secondNumber)); // 商
} else {
System.out.println("商:0で割ることはできません。"); // エラーメッセージ
}
// Scannerを閉じる
scanner.close(); // リソースを解放
}
}
1つ目の整数を入力してください:
10
2つ目の整数を入力してください:
5
合計:15
差:5
積:50
商:2
このプログラムでは、ユーザーから2つの整数を入力してもらい、それに基づいて合計、差、積、商を計算しています。
特に商を計算する際には、0で割ることができないため、条件分岐を用いてエラーチェックを行っています。
このように、キーボード入力を活用することで、インタラクティブなプログラムを作成することができます。
入力値のエラーハンドリング
ユーザーからの入力を受け取る際には、予期しないデータが入力される可能性があります。
そのため、エラーハンドリングを行うことが重要です。
Javaでは、try-catch
文を使用して例外を捕捉し、プログラムがクラッシュしないようにすることができます。
以下に、入力値のエラーハンドリングを行うプログラムの例を示します。
import java.util.Scanner; // Scannerクラスをインポート
public class App {
public static void main(String[] args) {
// Scannerオブジェクトを作成
Scanner scanner = new Scanner(System.in);
// ユーザーに整数を入力させる
System.out.println("整数を入力してください:");
try {
// ユーザーからの入力を取得
int userInput = scanner.nextInt(); // 整数を取得
// 入力された値を表示
System.out.println("入力された値は:" + userInput + " です。");
} catch (Exception e) {
// 例外が発生した場合の処理
System.out.println("無効な入力です。整数を入力してください。");
} finally {
// Scannerを閉じる
scanner.close(); // リソースを解放
}
}
}
整数を入力してください:
abc
無効な入力です。整数を入力してください。
このプログラムでは、ユーザーに整数を入力してもらう際に、try-catch
文を使用してエラーハンドリングを行っています。
もしユーザーが整数以外の値(例えば文字列)を入力した場合、catch
ブロックが実行され、エラーメッセージが表示されます。
finally
ブロックでは、Scanner
オブジェクトを閉じてリソースを解放しています。
このように、エラーハンドリングを行うことで、プログラムの安定性を向上させることができます。
まとめ
この記事では、Javaにおけるキーボード入力の基本から、入力値の判定、実践的な計算機プログラムの作成、さらにはエラーハンドリングの方法までを解説しました。
これにより、ユーザーからの入力を効果的に処理し、プログラムの安定性を向上させるための手法を学ぶことができました。
次回は、さらに複雑なデータ処理やユーザーインターフェースの構築に挑戦してみると良いでしょう。