Day36 写一个简易计算器

发布时间 2023-12-23 18:54:15作者: 白小帆

写一个计算器

写一个计算器,要求实现加减乘除功能,并且能够循环接收新的数据,通过用户交互实现。
思路推荐:(不用写出界面)

  • 写4个方法:加减乘除
  • 利用循环+switch进行用户交互 (判断是+-*/)
  • 传递需要操作的两个数
  • 输出结果

难点:1.选用哪种循环结构 主要是要实现:(是否继续使用计算器,输入Y继续使用,其他任意键结束)

​ 2.除法中 要考虑到分母不得为零

1.可以参考下博客园网友[Ariesmark]的页面:点击查看博客园-[Ariesmark-第7天作业写一个计算器]

2.自练

注意:下面这种方法的循环结构 需要提前定义一个全局变量

用了do{

}while();

package com.baixiaofan.method;

import java.util.Scanner;

public class Demo10 {
    //做一个计算器  实现加减乘除   加法:add  减法:subtract  乘法:multiply  除法:divide
    public static void main(String[] args) {

        String a = " ";//全局变量!!!!!!!!!!!

        do {
          Scanner scanner = new Scanner(System.in);

            System.out.println("请输入第一个数字num1:");
            double num1 = scanner.nextDouble();

            System.out.println("请输入运算符(+,-,*,/):");
            String operator = scanner.next();

            System.out.println("请输入第二个数字num2:");
            double num2 = scanner.nextDouble();

            switch (operator) {
                case "+":
                    add(num1, num2);//调用加法
                    break;

                case "-":
                    subtract(num1, num2);
                    break;

                case "*":
                    multiply(num1, num2);
                    break;

                case "/":
                    divide(num1, num2);
                    break;
                default:
                    System.out.println("输入的运算符不合法!");
            }

            System.out.println("==============================================");
            System.out.println("是否继续使用计算器,输入Y继续使用,其他任意键结束");
            a=scanner.next();
        }while(a.equals("Y"));
    }


    //加法
    public static void add(double num1,double num2){
        double result = num1+num2;
        System.out.println(num1+"+"+num2+"="+result);
    }

    //减法
    public static void subtract(double num1,double num2){
        double result = num1 - num2;
        System.out.println(num1+"-"+num2+"="+result);
    }
    //乘法
    public static void multiply(double num1,double num2){
        double result =num1 * num2;
        System.out.println(num1+"*"+num2+"="+result);
    }
    //除法
    public static void divide(double num1,double num2){
        double result = num1 / num2;
        if (num2==0){
            System.out.println("除法中分母num2不得为0");
            return;
        }else {
            System.out.println(num1+"/"+num2+"="+result);
        }
    }
}

控制台显示: