Java简单实现计算器功能

要求

写一个能够实现加减乘除,可以循环接收数据的简易计算器

初版

package method;

import java.util.Scanner;

public class CalculatorDemo {
    public static void main(String[] args) {
        Scanner firstNumber = new Scanner(System.in);
        System.out.println("请输入第一个数字:");
        double number01 = firstNumber.nextDouble();

        Scanner alg = new Scanner(System.in);
        System.out.println("请输入要进行的算术操作:");
        String alg01 = alg.nextLine();

        Scanner secondNumber = new Scanner(System.in);
        System.out.println("请输入第二个数字:");
        double number02 = secondNumber.nextDouble();

        switch (alg01) {
            case "+":
                System.out.println(
                        add(number01, number02));
                return;
            case "-":
                System.out.println(
                        sub(number01, number02));
                return;
            case "*":
                System.out.println(
                        mul(number01, number02));
                return;
            case "/":
                System.out.println(
                        div(number01, number02));
                return;
        }

    }
    
    //加法
    public static double add(double a, double b) {
        return a + b;
    }

    //减法
    public static double sub(double a, double b) {
        return a - b;
    }

    //乘法
    public static double mul(double a, double b) {
        return a * b;
    }

    //除法
    public static double div(double a, double b) {
        return a / b;
    }
}

优化版

package method;

import java.util.Scanner;

public class CalculatorDemo01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要计算的内容,以Enter键分隔");
        while (scanner.hasNextDouble()) {
            double number01 = scanner.nextDouble();
            String alg = scanner.next();
            double number02 = scanner.nextDouble();
            switch (alg) {
                case "+":
                    System.out.println(add(number01, number02));
                    break;
                case "-":
                    System.out.println(sub(number01, number02));
                    break;
                case "*":
                    System.out.println(mul(number01, number02));
                    break;
                case "/":
                    System.out.println(div(number01, number02));
                    break;
                default:
                    System.out.println("输入不正确!");
                    break;
            }
            System.out.println("=================");
            System.out.println("输入数字及计算符继续");
            System.out.println("输入其他按键结束");
        }
    }

    //加法
    public static double add(double a, double b) {
        return a + b;
    }

    //减法
    public static double sub(double a, double b) {
        return a - b;
    }

    //乘法
    public static double mul(double a, double b) {
        return a * b;
    }

    //除法
    public static double div(double a, double b) {
        return a / b;
    }
}
posted @ 2022-08-03 17:29  每年桃花开的时候  阅读(508)  评论(0)    收藏  举报