Javaを使用してコンソールで操作する電卓アプリケーションの作成方法を解説します。この記事では、基本的な算術演算を行うJavaプログラムの構築から、ユーザー入力の処理、計算ロジックの実装、そして結果の出力方法を解説します。
はじめに
この記事のコードをコピペしてEclipseで出力結果を確認してみよう!
Eclipseインストール方法
Javaコンソールアプリ:簡単な電卓を作成
以下の電卓を作成します。
1つ目の数値を入力してください: 6
演算子を入力してください (+, -, *, /): +
2つ目の数値を入力してください: 4
計算結果: 10.00
クリックするとコードが表示されます。
Java
import java.util.Scanner;
public class SimpleCalculator {
public static void main(String[] args) {
// スキャナーオブジェクトを作成してユーザー入力を受け取る
Scanner scanner = new Scanner(System.in);
// ユーザーに最初の数値の入力を促す
System.out.print("1つ目の数値を入力してください: ");
double firstNumber = scanner.nextDouble();
// ユーザーに演算子の入力を促す
System.out.print("演算子を入力してください (+, -, *, /): ");
char operator = scanner.next().charAt(0);
// ユーザーに2番目の数値の入力を促す
System.out.print("2つ目の数値を入力してください: ");
double secondNumber = scanner.nextDouble();
// 結果を格納するための変数を宣言
double result;
// 演算子に基づいて計算を実行
switch (operator) {
case '+':
result = firstNumber + secondNumber;
break;
case '-':
result = firstNumber - secondNumber;
break;
case '*':
result = firstNumber * secondNumber;
break;
case '/':
// 0で割ることがないようにチェック
if (secondNumber != 0) {
result = firstNumber / secondNumber;
} else {
System.out.println("エラー! 0で除算することはできません。");
return; // エラーの場合はプログラムを終了
}
break;
default:
System.out.println("無効な演算子です!");
return; // 無効な演算子の場合はプログラムを終了
}
// 計算結果を出力
System.out.printf("計算結果: %.2f%n", result);
}
}
SimpleCalculator.javaの解説
クラスとメインメソッドの定義
Java
import java.util.Scanner;
public class SimpleCalculator {
public static void main(String[] args) {
// メインメソッドの内容
}
}
import java.util.Scanner;
: ユーザー入力を受け取るために必要なScannerクラスをインポートします。public class SimpleCalculator
: 計算機能を持つクラスを定義します。public static void main(String[] args)
: プログラムの実行開始点となるメインメソッドです。
ユーザー入力の受け取り
Java
Scanner scanner = new Scanner(System.in);
System.out.print("1つ目の数値を入力してください: ");
double firstNumber = scanner.nextDouble();
System.out.print("演算子を入力してください (+, -, *, /): ");
char operator = scanner.next().charAt(0);
System.out.print("2つ目の数値を入力してください: ");
double secondNumber = scanner.nextDouble();
Scanner scanner = new Scanner(System.in);
: ユーザーからの入力を受け取るためのScannerオブジェクトを作成します。scanner.nextDouble()
: ユーザーが入力した数値を読み取ります。scanner.next().charAt(0)
: ユーザーが入力した文字列の最初の文字(演算子)を取得します。
計算ロジック
Java
double result;
switch (operator) {
case '+':
result = firstNumber + secondNumber;
break;
case '-':
result = firstNumber - secondNumber;
break;
case '*':
result = firstNumber * secondNumber;
break;
case '/':
if (secondNumber != 0) {
result = firstNumber / secondNumber;
} else {
System.out.println("エラー! 0で除算することはできません。");
return;
}
break;
default:
System.out.println("無効な演算子です!");
return;
}
switch
文: 入力された演算子に基づいて適切な計算を選択します。case
: 各演算子に対応する計算処理を定義します。if (secondNumber != 0)
: 除算の場合、0で割ることを防ぐためのチェックを行います。default
: 無効な演算子が入力された場合のエラー処理です。
結果の出力
Java
System.out.printf("計算結果: %.2f%n", result);
System.out.printf()
: 計算結果をフォーマットして出力します。%.2f
: 小数点以下2桁まで表示することを指定します。%n
: 出力の最後に改行を挿入します。
重要なポイント
- 変数名の選択:
firstNumber
とsecondNumber
のように、変数の役割を明確に示す名前を使用しています。 - ユーザー入力の処理: Scannerクラスを使用して、異なる型(数値と文字)の入力を適切に処理しています。
- エラー処理: 0での除算や無効な演算子の入力に対して、適切なエラーメッセージを表示しプログラムを終了します。
- switch文の使用: 異なる演算子に対して効率的に処理を分岐させています。
- 結果のフォーマット: printf()メソッドを使用して、結果を見やすく整形して出力しています。
このプログラムは、基本的な計算機能を提供しながら、ユーザー入力の処理、条件分岐、エラー処理など、プログラミングの重要な概念を学ぶのに適しています。
まとめ
- SimpleCalculatorクラスの作成とmainメソッドの定義方法
- Scannerクラスを使用したユーザー入力の受け取り方法
- switch文を活用した計算ロジックの実装方法
- 計算結果の適切な出力方法
- 例外処理や入力検証などの重要なポイント
この簡単な電卓アプリケーションの作成を通じて、Javaプログラミングの基本的な概念と実践的なスキルを身につけることができます。クラスの定義、メソッドの作成、条件分岐、ユーザー入力の処理など、Javaプログラミングの重要な要素を学ぶことができます。
また、追加の機能(例:高度な数学関数、メモリ機能など)を実装することで、さらに複雑なアプリケーションへと発展させることができます。
コメント