簡易計算器實現: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("輸入的字符有誤!");
            }
        }
    }

}

相關文章
相關標籤/搜索