

コードを実行したらこんなシンプルな電卓が出てきて計算することができます。
package cacu;
public class Calculator {
public static double calc(double n1, String op, double n2) {
if (op.equals("/") && n2 == 0) return 0.0;
switch (op) {
case "+": return n1 + n2;
case "-": return n1 - n2;
case "*": return n1 * n2;
case "/": return n1 / n2;
default: return 0.0;
}
}
}
1. ロジック・クラス (Calculator.java)
役割: 計算処理やエラーチェック(例:0での除算の禁止)のみを担当します。
メリット: このクラスは計算だけに特化しているため、将来的にこの電卓をスマホアプリにしたり、Webサイトにしたりする場合でも、このクラスをそのまま再利用することができます。
ポイント: 画面(UI)のことは一切考えず、純粋な「計算エンジン」として機能します。


2. UI/GUI クラス (GUICalculator.java)
役割: ボタンの作成や画面へのテキスト表示など、ユーザーインターフェースのみを担当します。
メリット: ボタンの色を変えたり、デザインを修正したりしたい場合、計算ロジック(中身)を壊す心配をせずに、このクラス内だけで安全に修正が可能です。
ポイント: ユーザーが見る「見た目」の部分に専念します。

3. メイン・クラス (Main.java)
役割: プログラムを起動させるだけの役割です。
メリット: いわゆる「入り口(エントリーポイント)」を一つに絞ることで、プログラムがどこから実行されるのかが明確になり、管理が非常に楽になります。
ポイント: 複雑な処理は書かず、各パーツを組み立てて動かす役割に徹します。

まとめ
このように役割を分けることで、コードが整理され、修正や機能追加がしやすくなります。この考え方は、プロの世界でも MVC (Model-View-Controller) などのパターンとして広く使われています。



