永发信息网

java简单计算器的程序

答案:2  悬赏:30  手机版
解决时间 2021-04-23 01:27

‘+’的结果错了,别的没错,不知道什么问题。

class SimpleCal2 {
private int operand1,operand2;
private char operator;

SimpleCal2(){}

SimpleCal2(int operand1,char operator,int operand2){
this.operand1=operand1;

this.operator=operator;
this.operand2=operand2;
}

private int cal() throws ArithmeticException,Exception{
int result=Integer.MIN_VALUE;
if(operator=='+')
result=operand1+operand2;
else if(operator=='-'){
result=operand1-operand2;
}
else if(operator=='*'){
result=operand1*operand2;
}
else if(operator=='/'){
result=operand1/operand2;
}
else {
throw new Exception("输入的运算符错误!");
}
return result;
}

public void showResult() throws ArithmeticException,Exception{
System.out.println("运算结果:"+operand1+operator+operand2+"="+cal());
}

public static void main(String[] args){
int p1,p2;
try{
p1=Integer.parseInt(args[0]);
char op=args[1].charAt(0);
p2=Integer.parseInt(args[2]);
SimpleCal2 exp=new SimpleCal2(p1,op,p2);
exp.showResult();
}
catch(NumberFormatException e1){
System.out.println("输入的运算数不是整数!");
}
catch(ArrayIndexOutOfBoundsException e2){
System.out.println("输入的运算式不完整!");
}
catch(ArithmeticException e3){
System.out.println("除数为0,不能进行除法运算!");
}
catch(Exception e4){
e4.printStackTrace();
}
}
}

最佳答案

我做了测试你的程序没有问题.


class SimpleCal2 {
private int operand1, operand2;
private char operator;


SimpleCal2() {
}


SimpleCal2(int operand1, char operator, int operand2) {
this.operand1 = operand1;


this.operator = operator;
this.operand2 = operand2;
}


private int cal() throws ArithmeticException, Exception {
int result = Integer.MIN_VALUE;
if (operator == '+')
result = operand1 + operand2;
else if (operator == '-') {
result = operand1 - operand2;
} else if (operator == '*') {
result = operand1 * operand2;
} else if (operator == '/') {
result = operand1 / operand2;
} else {
throw new Exception("输入的运算符错误!");
}
return result;
}


public void showResult() throws ArithmeticException, Exception {
System.out.println("运算结果:" + operand1 + operator + operand2 + "="
+ cal());
}


public static void main(String[] args) {
int p1, p2;char op;
try {
//p1 = Integer.parseInt(args[0]);
p1=3;
//char op = args[1].charAt(0);
op='+';
//p2 = Integer.parseInt(args[2]);
p2=2;
SimpleCal2 exp = new SimpleCal2(p1, op, p2);
exp.showResult();
} catch (NumberFormatException e1) {
System.out.println("输入的运算数不是整数!");
} catch (ArrayIndexOutOfBoundsException e2) {
System.out.println("输入的运算式不完整!");
} catch (ArithmeticException e3) {
System.out.println("除数为0,不能进行除法运算!");
} catch (Exception e4) {
e4.printStackTrace();
}
}
}


运算结果:3+2=5


你的程序没有错.

全部回答

错误时什么?计算结果错了,还是输出的信息有误

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
女人一辈子要有几个男人才算够本?
一般街舞中的滑步(太空步) , 需要掌握的技巧,
谁知道比较好玩,搞笑的穿越之类的小说啊!
阳光日杂地址有知道的么?有点事想过去
茶蘼结局是什么,开到荼蘼是什么意思???
psp1000 5.51降级
为什么核黄素最易缺乏的维生素
给出生于农历2009年3月12凌晨3点35分的黄姓男
怪自己看走眼的句子,其实没什么,只怪自己太笨
昌北线在什么地方啊,我要过去处理事情
我的电脑的CPU使用率很高,我不知道把什么程
电焊和氩弧焊还有钎焊的要领和注意事项?
水瓶男让女孩伤心,会怎样安慰那个女孩算喜欢
古塔和流水的诗句,作文农安古塔400字
一般送什么礼物给父亲是最合适的?
推荐资讯
仙剑客栈下载,省心的,我不会用补丁
花甲之年的感悟诗句,精通诗词的大大们,我父
急,请问CPU散热器太重怎么办?
花钱玩的游戏值的吗?那还有什么乐趣呢?
DNF 福建3区 斯巴达图 可以买多少钱
兰州拉面拉面机
问个关于问问的问题,不服啊
bios发出声音
如把山挖去一半以作房地开发,算不算浪费资源
柠檬水该怎么做?对身体有什么效果?
It is just a month _____ we got here.
我今天在拍拍网充值50元,号码错误,有什么办
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?