java中bigdecimal 类型的变量怎么相互加减乘除

java中bigdecimal 类型的变量怎么相互加减乘除,第1张

如图

import javamathBigDecimal;
public class Test {
    public static void main(String[] args) {
        // BigDecimal是处理double精度问题的对象
        BigDecimal b1 = new BigDecimal("10");
        BigDecimal b2 = new BigDecimal("10");
        // 结果
        BigDecimal result = null;
        // 加
        result = b1add(b2);
        Systemoutprintln(resultdoubleValue());
        // 减
        result = b1subtract(b2);
        Systemoutprintln(resultdoubleValue());
        // 乘
        result = b1multiply(b2);
        Systemoutprintln(resultdoubleValue());
        // 除
        result = b1divide(b2);
        Systemoutprintln(resultdoubleValue());
    }
}

200
00
1000
10

第一个类:
public class Calculator {
int num1=0;//第一个加数
int num2=0;//第二个加数
int num3=0;//第三个加数

public void jia(){
num3=num1+num2;
Systemoutprintln("加:"+num3);
}
public void jian(){
num3=num1-num2;
Systemoutprintln("减:"+num3);
}

public void cheng(){
num3=num1num2;
Systemoutprintln("乘:"+num3);
}
public void chu(){
num3=num1/num2;
Systemoutprintln("除:"+num3);
}

}

第二个类:
public class test {
public static void main(String[] args) {
Calculator show=new Calculator();
Scanner input=new Scanner (Systemin);
Systemoutprintln("请输入第一个加数:");
shownum1=inputnextInt();
Systemoutprintln("请输入第二个加数:");
shownum2=inputnextInt();

showjia();
showjian();
showcheng();
showchu();//调用

}
}

1、// 加;

1)BigDecimal add = maadd(mb);

2)Systemoutprintln("加法:"+add);

2、// 减;

1)BigDecimal sub = masubtract(mb);

2)Systemoutprintln("减法:"+sub);

3、// 乘;

1)BigDecimal mul = mbmultiply(md);

2)Systemoutprintln("乘法:"+mul);

4、// 除

1)BigDecimal div = mbdivide(md);

2)Systemoutprintln("除法:"+div);

3)Systemoutprintln("===================");

4)mc = mcsetScale(2, BigDecimalROUND_HALF_UP);

5)Systemoutprintln("四舍五入:"+mc);

6)Systemoutprintln("===================");

7)mc = mcnegate();

8)Systemoutprintln("负数:"+mc);

9)Systemoutprintln("===================");

BigDecimal fraction1 = new BigDecimal(1/2);    //我这里用的1/2
BigDecimal fraction2 = new BigDecimal(1/4);    //我这里用的1/4
fraction1add(fraction2); //加
fraction1sub(fraction2);//减
fraction1mulity(fraction2);//乘
fraction1divide(fraction2);//除

具体可以再看看BigDecimal的api文档,对于除不尽的数,可以设置精度。另外我的方法是凭印象写的,不知有没有错,还请参考api文档。

public class ParamDemo {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        mapput("+", 1);
        mapput("-", 1);
        mapput("", 2);
        mapput("/", 2);
        Scanner scanner = new Scanner(Systemin);
        int num1 = scannernextInt();
        int num2 = scannernextInt();
        int num3 = scannernextInt();
        String op1 = scannernext();
        String op2 = scannernext();
        //此时证明第一个 *** 作符优先级大于第二个 *** 作符
        if (mapget(op1) - mapget(op2) >= 0) {
            int tmpNumber = operateNum(op1, num1, num2);
            Systemoutprintln(operateNum(op2, tmpNumber, num3));
        } else {
            int tmpNumber = operateNum(op2, num2, num3);
            Systemoutprintln(operateNum(op1, num1, tmpNumber));
        }
        scannerclose();
    }
    private static int operateNum(String operator, int num1, int num2) {
        switch (operator) {
            case "+":
                return num1 + num2;
            case "-":
                return num1 - num2;
            case "":
                return num1  num2;
            case "/":
                return num1 / num2;
            default:
                return 0;
        }
    }
}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10557141.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存