Java简单加减乘除计算,可循环,可不循环。

比较简单的东西,主要就是将计算结果重新赋给a,然后循环进行下次运算。

浮点数计算结果不准确,有需要自己改一下。 

package project;
import java.util.Scanner;
public class CalculatorProject {
    //主要实现四则运算,两个数与两个数进行计算,或者两个数与两个数进行计算得到的结果与下一个数进行计算。
    public static void main(String[] args) {
        System.out.println("本程序为简单的四则运算,举例,输入a=10,b=20,运算符=*,即得到结果a*b=10*20=200,若想继续往下运算,则得到的结果会自动赋值给下一次的a");
        boolean k = true;  //定义循环条件k值,要先进行循环,赋值为真,后面通过if判断用户输入来改变k的值
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入a="); //输入第一个进行运算的数字,放在循环体前面是因为不想再用多个变量
        double a = sc.nextDouble();
        while (k){ //若k为ture则无限循环
            System.out.println("当前a="+a); // 显示当前a的值为多少,放在循环体内主要是因为清零操作
            System.out.print("请输入b="); //输入b的值
            double b = sc.nextDouble();
            System.out.println("当前输入a="+a+"  "+"当前输入b="+b);  //输出当前a,b的值
            System.out.print("请输入运算符:");  //输入运算符
            String c = sc.next();
                while(!c.equals("+") && !c.equals("-") && !c.equals("*") && !c.equals("/")) {  //判断输入的运算符是否合法
                    System.out.println("运算符不合法,请重新输入+-*/:");
                    c = sc.next();
                }
            System.out.println("当前运算公式为:"+a+c+b); //输出当前运算公式,即a +-*/ b
            a = four(a,b,c);  // 此处将运算结果重新赋值给a,因为后面如果需要接着运算的话,a与b运算的结果就应当重新为a值
            System.out.println("运算结果为:"+a); //输出结果
            System.out.print("是否继续运行?Y=是,C=清零,其他=结束:"); //选择继续,清零,退出
            String d = sc.next();
            if(d.equals("C")){ //判断
                System.out.print("请重新输入a="); //判断是否C,决定是否要对a重新赋值,赋值之后重新进入循环,此处并未改变k的值,不往下运行else,k值一直为true
                a = sc.nextDouble();
            }else {
                k = d.equals("Y");  //判断是否输入Y ,若输入Y 则赋值k=true,若输入非Y,则k=false
            }


       }
        sc.close();
    }


    // four 方法 四则运算
    public static double four(double a , double b , String c ){ //多变量 a,b为浮点型对应输入需要计算的数据,c为字符串对应输入的计算符号
        switch (c){
            case "+": //加法
                return a+b;
            case "-": //减法
                return a-b;
            case "*": //乘法
                return a*b;
            case "/": //除法
                return a/b;
            default: // 这段代码好像并没啥意义,因为加了判断,除了+-*/输入其他的会让用户再次输入,此时并未调用four方法,这个0不可能会返回
                return 0;
        }

        }

}

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值