简易计算器实现:while循环+switch语句

我的练习:
简易计算器实现:while循环+switch语句
写一个计算器,要求实现加减乘除功能,而且能循环接收新的数据,经过用户交互实现(即Scanner对象)java

用到了 while循环 switch语句,实现了数据的循环输入并计算!!!!妙啊!!!!ide

import java.util.Scanner;

public class Calculator{
    public static void main(String[] args) {
        //建立对象用来调用对象里的方法
        Calculator calculator = new Calculator();
        //调用computer方法
        calculator.computer();
    }
    //第一步:加减乘除四个方法(由于要循环计算,每次传入一个数字,因此参数列表应该只有一个参数)
    //加法
    public static double add(double a){
        System.out.println("请输入一个数:");
        Scanner scanner3 = new Scanner(System.in);
        double b = scanner3.nextDouble();
        return a+b;
    }
    //减法
    public static double subtract(double a){
        System.out.println("请输入一个数:");
        Scanner scanner3 = new Scanner(System.in);
        double b = scanner3.nextDouble();
        return a-b;
    }
    //乘法
    public static double multiply(double a){
        System.out.println("请输入一个数:");
        Scanner scanner3 = new Scanner(System.in);
        double b = scanner3.nextDouble();
        return a*b;
    }
    //除法
    public static double divide(double a){
        System.out.println("请输入一个数:");
        Scanner scanner3 = new Scanner(System.in);
        double b = scanner3.nextDouble();
        return a/b;
    }

    //第二步:完成循环输入数据的功能(while(true)+switch),必须建立一个方法完成这一步
    public void computer(){
        System.out.println("请输入一个数:");
        Scanner scanner1 = new Scanner(System.in);
        double a = scanner1.nextDouble();

        while(true){
            Scanner scanner2 = new Scanner(System.in);
            System.out.println("你能够输入的操做有:加(+)减(-)乘(*)除(/)清零(小写的c)结束(小写的end)--->");
            String str = scanner2.nextLine();
            switch (str){
                case "+":
                    a = add(a);
                    System.out.println("="+a);
                    break;
                case "-":
                    a = subtract(a);
                    System.out.println("="+a);
                    break;
                case "*":
                    a = multiply(a);
                    System.out.println("="+a);
                    break;
                case "/":
                    if (a == 0){
                        System.out.println("除法分子不能为零,请从新输入:");
                        break;
                    }
                    a = divide(a);
                    System.out.println("="+a);
                    break;
                case "c":
                    computer();
                    break;
                case "end":
                    System.exit(-1);
                    break;
                default:
                    System.out.println("输入的字符有误!");
            }
        }
    }

}

相关文章
相关标签/搜索