百位计算器设计

本文详细介绍了如何设计并实现一个能够处理百位数运算的计算器,涵盖了加减乘除四则运算,同时讨论了进位和借位的处理策略,以及错误处理机制。
摘要由CSDN通过智能技术生成
/*the main calculate function*/
 
import java.math.*;
public class calc {
     static calc cal = null;
     double result = 1 ;
     BigDecimal num1 ;
     BigDecimal num2;
     BigDecimal value;
     
     /* CONSTRUCTOR*/
     private calc(){
     }
     /*SINGLETON MODLE*/
     public static calc  singleton(){
         if(cal == null){
             cal = new calc();
             return cal;
         }else{
             return cal;
         }
     }
     /* THE ADD OPERTATION*/
     public String add(String a , String b){
         num1 = new BigDecimal(a);
         num2 = new BigDecimal(b);
         value = num1.add(num2);
         num1 = null;
         num2 = null;
         return (value.toPlainString());
     }
     /* THE SUB OPERATION*/
     public String sub(String a , String b){
         num1 = new BigDecimal(a);
         num2 = new BigDecimal(b);
         value = num1.subtract(num2);
         num1 = null;
         num2 = null;
         return (value.toPlainString());
     }
     /* THE MULTIPLY OPERATION*/
     public String multiply(String a , String b){
         num1 = new BigDecimal(a);
         num2 = new BigDecimal(b);
         value = num1.multiply(num2);
         num1 = null;
         num2 = null;
         return (value.toPlainString());
     }
     /* THE DIV OPERATION*/
     public String div(String a , String b){
         num1 = new BigDecimal(a);
         num2 = new BigDecimal(b);
         value = num1.divide(num2,100,BigDecimal.ROUND_HALF_UP);
         num1 = null;
         num2 = null;
         return (value.toPlainString());
     }
     /* THE ROOT OPERATION*/
     public String root(String a){
         
         return Math.sqrt(Double.parseDouble(a))+"";
         
     }
     /* THE FACTORIAL OPERATION阶乘*/
     public double factorial(Double a){
         for(int i = 1 ; i<=a ; i++){
             result = result*i;
         }
         return result;
         
     }
     /* THE SQUARE OPERATION*/
     public String square(String d){
         num1 = new BigDecimal(d);
         value = num1.multiply(num1);
         num1 = null;
         return (value.toPlainString());
     }
     /*THE CUBIC OPERATION*/
     public String cubic(String a){
         num1 = new BigDecimal(a);
         value = num1.multiply(num1);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值