利用java语言实现不带界面的简单的计算器小程序

如何使用Java语言以面向对象的思想去实现这样的一个简单的计算器呢? 我写了两种方法, 做法如下所示:

方法一:

import java.util.Scanner;

public class 计算器 {
          
   
    public static void main(String[] args) {
          
   

        System.out.print("请输出第一个数:");
        Scanner scanner = new Scanner(System.in);
        String x = scanner.nextLine();

        System.out.println("请输入算术运算符(+ ,- ,* ,/)");
        String o = scanner.nextLine();

        System.out.print("请输出第二个数:");
        String y = scanner.nextLine();

        double Result = number(Double.parseDouble(x),Double.parseDouble(y),o);
        System.out.println(Result);

    }
    public static double number(double num1, double num2, String opr){
          
   

        double result =0;
        switch (opr){
          
   
            case "+":
                result = num1 + num2;
                break;
            case "-":
                result = num1 - num2;
                break;
            case "*":
                result = num1 * num2;
                break;
            case "/":
                result = num1 / num2;
                break;
        }
        return result;
    }
}

方法二:

import java.util.Scanner;

public class 计算器方法二 {
          
   
    public static void main(String[] args) {
          
   
        System.out.print("==========================================");
        System.out.println("请输入一个算术表达式,如:25*50");
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        StringBuffer buffer = new StringBuffer();
        StringBuffer buffer1 = new StringBuffer();
        char opr =  ;
        for (int i = 0; i < str.length(); i++) {
          
   
            if (str.charAt(i) == + || str.charAt(i) == -       //charAt(i)函数用于获取字符串中第i位置的字符
                    || str.charAt(i) == * || str.charAt(i) == /) {
          
   
                opr = str.charAt(i);

                for (int j = i + 1; j < str.length(); j++) {
          
   
                    buffer1.append(str.charAt(j));
                }
                break;
            } else {
          
   
                buffer.append(str.charAt(i));
            }
        }
        String c = buffer.toString();
        String d = buffer1.toString();
        double a = Double.parseDouble(c);
        double b = Double.parseDouble(d);
        double sum = 0;
        if (opr == +) {
          
   
            sum = a + b;
        }
        if (opr == -) {
          
   
            sum = a - b;
        }
        if (opr == *) {
          
   
            sum = a * b;
        }
        if (opr == /) {
          
   
            sum = a / b;
        }
        System.out.println("程序运算中...");
        System.out.println(c+opr+d+"="+sum);
        System.out.print("==========================================");
    }
}
注意:只可以计算加减乘除哦~
经验分享 程序员 微信小程序 职场和发展