/*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);
|
百位计算器设计
最新推荐文章于 2024-03-07 19:38:22 发布
本文详细介绍了如何设计并实现一个能够处理百位数运算的计算器,涵盖了加减乘除四则运算,同时讨论了进位和借位的处理策略,以及错误处理机制。
摘要由CSDN通过智能技术生成