初学者,做了一个简单的java版计算器,遇到一个问题
class SimpleCal{
private int num1,num2;//num1,num2用于存放运算数据
private char operator;//用于存放运算符
SimpleCal(){}//初始化运算式构造方法
SimpleCal(int num1,char operator,int num2){
this.num1=num1;
this.operator=operator;
this.num2=num2;
}
//求运算结果
private int cal(){
int result=0;
if(operator=='+')
result=num1+num2;
else if(operator=='-')
result=num1-num2;
else if(operator=='*')//就是这里,if验证总是不通,求解答
result=num1*num2;
else if(operator=='/'){
if(num2==0){//分母为0时报错
System.out.println("分母不能为0");
System.exit(-1);
}
result=num1/num2;
}
else{
System.out.println("输入的运算符错误");
System.exit(-1);
}
return result;
}
//输出运算式与运算结果
public void showResult(){
System.out.println("运算结果为:"+num1+operator+num2+"="+cal());//cal()为cal类返回值
}
public static void main(String[] args){
//验证格式是否正确,如不正确,提示正确格式,并结束程序
if(args.length !=3){
System.out.println("格式错误,请使用:java SimpleCal 操作数1 运算符 操作数2 的格式");
System.exit(-1);
}
//根据命令行参数,构造运算对象exp
SimpleCal exp=new SimpleCal(Integer.parseInt(args[0]),args[1].charAt(0),Integer.parseInt(args[2]));
//输出运算式和结果
exp.showResult();
}
}