設計一個計算器類,具備:
int a, b)String option)count())主程序通過控制台接收用戶輸入,調用計算器完成四則運算及取模。
Calculstepublic class Calculste {
int a;
int b;
String option;
public void count() {
switch (option) {
case "+":
System.out.println("計算和:" + a + "+" + b + "=" + (a + b));
break;
case "-":
System.out.println("計算差:" + a + "-" + b + "=" + (a - b));
break;
case "*":
System.out.println("計算積:" + a + "*" + b + "=" + (a * b));
break;
case "/":
if (b != 0) {
System.out.println("計算商:" + a + "/" + b + "=" + (a / b));
} else {
System.out.println("您輸入的第二個數不能為 0,請重新輸入");
}
break;
case "%":
System.out.println("計算余:" + a + "%" + b + "=" + (a % b));
break;
default:
System.out.println("您輸入的操作符有誤,請重新輸入");
}
}
}
demo3import java.util.Scanner;
public class demo3 {
public static void main(String[] args) {
System.out.println("兩個數的運算");
Scanner sc = new Scanner(System.in);
Calculste cal = new Calculste(); // 創建對象
System.out.print("第一個數:");
cal.a = sc.nextInt(); // 直接訪問公共屬性賦值
System.out.print("第二個數:");
cal.b = sc.nextInt();
System.out.print("輸入運算符號(+ - * / %):");
cal.option = sc.next();
cal.count(); // 調用行為方法
}
}
兩個數的運算
第一個數:10
第二個數:3
輸入運算符號:*
計算積:10*3=30
兩個數的運算
第一個數:5
第二個數:0
輸入運算符號:/
您輸入的第二個數不能為 0,請重新輸入
| 概念 | 案例體現 |
|---|---|
| 類 | Calculste —— 計算器的「圖紙/模板」 |
| 對象/實例 | cal —— 具體的一臺計算器 |
| 屬性/字段 | a, b, option —— 計算器的狀態數據 |
| 方法/行為 | count() —— 計算器的功能邏輯 |
| 封裝 | 屬性公開訪問(教學簡化),實際開發建議 private + getter/setter |
| 實例化 | new Calculste() 在堆內存分配對象內存 |
private int a; public void setA(int a) { this.a = a; }count() 返回 double 或 String,而非直接打印,分離「計算」與「展示」。ArithmeticException 或自定義異常,由調用者捕獲處理。Operator 介面實現類,count() 僅委派調用,符合開閉原則。本案例以最直觀的方式演示了「類 → 對象 → 屬性/方法」的面向對象核心三要素。雖代碼簡單,但包含了對象創建、屬性賦值、方法調用、流程控制、異常防護等 Java 基礎開發全鏈路動作。建議初學者手敲運行,並嘗試上述改進,體會從「能跑」到「好維護」的演進過程。