Java编写计算器,完成四则混合运算(简易版)

package 计算器;

import java.util.Scanner;

//数据计算
class JiSuan{
    //标识符
    private double y;
    public JiSuan() {}
    //进行运算
    public double Suan(char c,double sum,double y) {
        switch(c) {
        case '+':
            sum+=y;
            break;
        case '-':
            sum-=y;
            break;
        case '*':
            sum*=y;
            break;
        case '/':
            sum/=y;
            break;
            default:
                break;
        }
        
        return sum;
    }
}

//录入数据
class LuRu{
    public void in() {
        //创建对象,方便下面调用
        JiSuan j = new JiSuan();
        
        Scanner in = new Scanner(System.in);
        //录入数据
        //输入格式:1+2*2=回车
        String ss=in.nextLine();
        //标识符
        int fine=0;
        //初始化运算符
        char c='+';
        //初始化数据
        double sum=0,num=0;
        
        for(int i=0;i<ss.length();i++) {
            //将字符串中的数字提取出来,然后进行运算
            if(ss.charAt(i)<='9'&&ss.charAt(i)>='0') {
                sum=sum*10+ss.charAt(i)-'0';
            }
            //遇到运算符
            else {
                //调用JiSuan中的方法
                num=j.Suan(c,num,sum);
                //初始化数据
                sum=0;
                //获取下一个运算符
                c=ss.charAt(i);
                if(c=='=') {
                    fine=1;
                    break;
                }
            }
        }
        //出现等号
        if(fine==1)
        System.out.println(num);
        //没有出现等号
        else
            System.out.println("错误");
    }
}
public class Simple2 {
    public  static void main(String[] args) {
        System.out.println("请输入:");
        //创建对象
        LuRu l = new LuRu();
        //调用方法
        l.in();
        System.out.println("感谢使用");
    }
}
 

发布了88 篇原创文章 · 获赞 47 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/dai_ma_dong/article/details/95976183
今日推荐