当前位置:   article > 正文

用Java制作计算器的两种方式_java怎么做计算器

java怎么做计算器

用Java制作计算器的两种方法

1.通过switch和用户交互(scanner)来实现,计算器的加减乘除的简单运算

//制作一个简易计算器,基于switch和用户交互实现;升级版是通过写出四个方法函数实现加减乘除,同时用循环和switch进行用户交互
public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);//构造Scanner类的对象scanner,接收从控制台输入的信息
        System.out.println("输入第一个数字: ");
        double a = scanner.nextInt();//接收第一个数字
        System.out.println("输入第二个数字: ");
        double b = scanner.nextInt();//接收第二个数字
        System.out.println("选择+ - * /中的一种计算方式: ");
        String str = scanner.next();//接收选择的计算方式
        switch (str) {
            case "+":
                System.out.println(a + b);//输出加法结果
                break;
            case "-":
                System.out.println(a - b);//输出减法结果
                break;
            case "*":
                System.out.println(a * b);//输出乘法结果
                break;
            case "/":
                System.out.println(a / b);//输出除法结果
                break;
        }
        scanner.close();//属于IO流的类如果不关闭会一直占用资源,养成习惯关闭
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

在这里插入图片描述

2.通过switch和用户交互(scanner)来实现,计算器的加减乘除的简单运算,同时还能循环接收数据

  • 写四个方法:add(加) minus(减) multiply(乘) divide(除)
  • 使用while循环和switch进行(scanner)交互实现
  • 输出结果
public class Test1 {
    public static void main(String[] args) {
        while (true) {
            System.out.println("输入计算类型(+,-,*,/),输入quit退出");
            Scanner calculate = new Scanner(System.in);//构造Scanner类的对象calculate,接收从控制台输入的信息
            String cal = calculate.nextLine();//接收该对象的内容,赋值给cal,可以加除Enter以为的所有符号,包括空格和Tab
            if(cal.equals("quit")){
                System.out.println("已退出计算器");
                break;
            }else {
                switch (cal) {
                    case "+":
                        System.out.println("输入要进行计算的两个数:");//println相当于print("\n"),即println每输出一行即换行
                        Scanner add1 = new Scanner(System.in);//构造Scanner类的对象addScanner1,接收从控制台输入的信息
                        double addNum1 = add1.nextInt();//接收该对象的内容,赋值给addNum1,可以加除Enter以为的所有符号,包括空格和Tab
                        Scanner add2 = new Scanner(System.in);
                        double addNum2 = add2.nextInt();
                        double addResult = add(addNum1, addNum2);//得出两数之和
                        System.out.println(addNum1 + "+" + addNum2 + "=" + addResult);
                        break;
                    case "-":
                        System.out.println("输入要进行计算的两个数(注意顺序,回车分割):");
                        Scanner minusScanner1 = new Scanner(System.in);
                        double minusNum1 = minusScanner1.nextInt();
                        Scanner minusScanner2 = new Scanner(System.in);
                        double minusNum2 = minusScanner2.nextInt();
                        double minusResult = minus(minusNum1, minusNum2);
                        System.out.println(minusNum1 + "-" + minusNum2 + "=" + minusResult);
                        break;
                    case "*":
                        System.out.println("输入要进行计算的两个数(注意顺序,回车分割):");
                        Scanner mutiplyScanner1 = new Scanner(System.in);
                        double mutiplyNum1 = mutiplyScanner1.nextInt();
                        Scanner mutiplyScanner2 = new Scanner(System.in);
                        double mutiplyNum2 = mutiplyScanner2.nextInt();
                        double mutiplyResult = multiply(mutiplyNum1, mutiplyNum2);
                        System.out.println(mutiplyNum1 + "*" + mutiplyNum2 + "=" + mutiplyResult);
                        break;
                    case "/":
                        System.out.println("输入要进行计算的两个数(注意顺序,回车分割):");
                        Scanner divideScanner1 = new Scanner(System.in);
                        double divideNum1 = divideScanner1.nextInt();
                        Scanner divideScanner2 = new Scanner(System.in);
                        double divideNum2 = divideScanner2.nextInt();
                        double divideResult = divide(divideNum1, divideNum2);
                        System.out.println(divideNum1 + "/" + divideNum2 + "=" + divideResult);
                        break;
                }
            }
        }
    }
    public static double add(double a,double b ){//构造一个double的 add方法,

        return a+b;
    }
    public static double minus(double a,double b ){
        return a-b;
    }
    public static double multiply(double a,double b ){

        return a*b;
    }
    public static double divide(double a,double b ){

        return a/b;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67

运行成功后,只要不输入quit,便会一直循环下去

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/275813
推荐阅读
相关标签
  

闽ICP备14008679号