java实现能计算10道基本运算的计算器

java的Scanner类确实不如c语言中的scanf好用,不过可以调用其他的方法来实现,下面介绍一个方法:

import java.util.Scanner;

//Calcute.java   进行计算
class Calcute{
    public double calcute(double n1,String s,double n2){
        double m=0;
        if(s.equals("+"))
            m=n1+n2;
        if(s.equals("-"))
            m=n1-n2;
        if(s.equals("*"))
            m=n1*n2;
        if(s.equals("/")){
            if(n2==0.0){       //注意除数若和整数“0”作比较,即n2==0,那么当输入的除数为“0.0”,输出将不显示告警提示。
                System.out.println("syntax error");
            }
            m=n1/n2;
        }
        return m;
    }
}

//Calcuter.class
public class Calcuter{
    public static void main(String[] args) {
        System.out.println("Welcome to use the Calcuter!"+'\n'+"It can calcute ten equations");
        Scanner in=new Scanner(System.in);
        for(int i=1;i<=10;i++){
            System.out.println("please input a equation"+i);
            String s=in.nextLine();   
            //正则表达式判断输入是否合法       
            while(!s.matches("[0-9]*[.]?[0-9]*[-+*/][0-9]*[.]?[0-9]*")){      
                  System.out.println("your input is not right ,please try again!");
                  s=in.nextLine();
            }
            //提取输入算式中的两个数据
            String  strnum[]=s.split("[-+*/]");
            double  num[]={Double.parseDouble(strnum[0]),Double.parseDouble(strnum[1])};
            //提取运算符
            String oper=s.substring(strnum[0].length(),strnum[0].length()+1);
            //创建对象
            Calcute call=new Calcute();
            double result=call.calcute(num[0],oper,num[1]);
            System.out.println(""+"equation"+i+":  "+num[0]+oper+num[1]+"="+result);
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值