Java实现一个简单的计算器

当实现一个简单的计算器时,我们可以创建一个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方法现在返回一个错误消息字符串,而不是直接打印到控制台。同样,如果运算符无效,它也会返回一个错误消息字符串。

posted @ 2024-05-29 14:03  TechSynapse  阅读(1044)  评论(0编辑  收藏  举报