Java實現一個簡單的計算器

TechSynapse發表於2024-05-29

當實現一個簡單的計算器時,我們可以建立一個Java程式,該程式接受使用者輸入的兩個數字和一個運算子,然後執行相應的數學運算並輸出結果。下面是一個簡單的Java程式碼示例,用於實現這樣的計算器:

import java.util.Scanner;  
  
public class SimpleCalculator {  
    public static void main(String[] args) {  
        Scanner scanner = new Scanner(System.in);  
  
        System.out.print("請輸入第一個數字: ");  
        double num1 = scanner.nextDouble();  
  
        System.out.print("請輸入運算子 (+, -, *, /): ");  
        String operator = scanner.next();  
  
        System.out.print("請輸入第二個數字: ");  
        double num2 = scanner.nextDouble();  
  
        double result;  
  
        switch (operator) {  
            case "+":  
                result = num1 + num2;  
                break;  
            case "-":  
                result = num1 - num2;  
                break;  
            case "*":  
                result = num1 * num2;  
                break;  
            case "/":  
                // 檢查除數為0的情況  
                if (num2 != 0) {  
                    result = num1 / num2;  
                } else {  
                    System.out.println("除數不能為0");  
                    return;  
                }  
                break;  
            default:  
                System.out.println("無效的運算子");  
                return;  
        }  
  
        System.out.printf("%.2f %s %.2f = %.2f%n", num1, operator, num2, result);  
  
        scanner.close();  
    }  
}

在這個程式中,我們使用了Scanner類來獲取使用者輸入。首先,我們要求使用者輸入兩個數字和一個運算子。然後,我們使用switch語句來根據運算子執行不同的數學運算。如果運算子是除號(/),我們還需要檢查除數是否為0,以避免除以零的錯誤。最後,我們列印出計算結果。

要執行此程式,請將其複製到Java開發環境中,並確保您已經正確配置了Java環境。然後,編譯並執行程式,按照提示輸入數字和運算子,程式將給出相應的計算結果。

如果我們想要將計算器的輸出改為字串形式,而不是直接列印到控制檯,我們可以將結果儲存在一個字串變數中,並在需要的時候(比如列印到控制檯或返回給呼叫者)使用該字串。以下是一個修改後的程式碼示例:

import java.util.Scanner;  
  
public class SimpleCalculator {  
    public static String calculate(double num1, String operator, double num2) {  
        double result;  
  
        switch (operator) {  
            case "+":  
                result = num1 + num2;  
                break;  
            case "-":  
                result = num1 - num2;  
                break;  
            case "*":  
                result = num1 * num2;  
                break;  
            case "/":  
                // 檢查除數為0的情況  
                if (num2 == 0) {  
                    return "除數不能為0";  
                }  
                result = num1 / num2;  
                break;  
            default:  
                return "無效的運算子";  
        }  
  
        // 將結果格式化為字串  
        return String.format("%.2f %s %.2f = %.2f", num1, operator, num2, result);  
    }  
  
    public static void main(String[] args) {  
        Scanner scanner = new Scanner(System.in);  
  
        System.out.print("請輸入第一個數字: ");  
        double num1 = scanner.nextDouble();  
  
        System.out.print("請輸入運算子 (+, -, *, /): ");  
        String operator = scanner.next();  
  
        System.out.print("請輸入第二個數字: ");  
        double num2 = scanner.nextDouble();  
  
        // 呼叫calculate方法獲取字串結果  
        String resultString = calculate(num1, operator, num2);  
  
        // 列印結果到控制檯  
        System.out.println(resultString);  
  
        scanner.close();  
    }  
}

在這個修改後的程式碼中,我們新增了一個名為calculate的方法,它接受兩個數字和一個運算子作為引數,並返回計算結果的字串表示形式。main方法現在呼叫calculate方法,並將結果儲存在一個字串變數resultString中,然後將其列印到控制檯。

注意,當除數為0時,calculate方法現在返回一個錯誤訊息字串,而不是直接列印到控制檯。同樣,如果運算子無效,它也會返回一個錯誤訊息字串。

相關文章