Java创建一个简易计算器,可以实现加减乘除的运算,并且可以实现连续运算,要求对成员变量进行封装。
时间: 2023-05-25 14:06:15 浏览: 51
public class Calculator {
private double num1; // 第一个数
private double num2; // 第二个数
private char operator; // 运算符
// 构造方法,初始化成员变量
public Calculator() {
num1 = 0;
num2 = 0;
operator = ' ';
}
// 加法运算
public double add(double num) {
if (operator == ' ') { // 如果还没有运算符,num为第一个数
num1 = num;
return num1;
} else { // 如果有运算符,num为第二个数
num2 = num;
double res = num1 + num2; // 进行加法运算
num1 = res; // 把结果赋值给num1,以便进行连续运算
num2 = 0; // 第二个数清零
return res;
}
}
// 减法运算
public double subtract(double num) {
if (operator == ' ') { // 如果还没有运算符,num为第一个数
num1 = num;
return num1;
} else { // 如果有运算符,num为第二个数
num2 = num;
double res = num1 - num2; // 进行减法运算
num1 = res; // 把结果赋值给num1,以便进行连续运算
num2 = 0; // 第二个数清零
return res;
}
}
// 乘法运算
public double multiply(double num) {
if (operator == ' ') { // 如果还没有运算符,num为第一个数
num1 = num;
return num1;
} else { // 如果有运算符,num为第二个数
num2 = num;
double res = num1 * num2; // 进行乘法运算
num1 = res; // 把结果赋值给num1,以便进行连续运算
num2 = 0; // 第二个数清零
return res;
}
}
// 除法运算
public double divide(double num) {
if (operator == ' ') { // 如果还没有运算符,num为第一个数
num1 = num;
return num1;
} else { // 如果有运算符,num为第二个数
num2 = num;
if (num2 == 0) { // 如果除数为0,抛出异常
throw new IllegalArgumentException("除数不能为0");
}
double res = num1 / num2; // 进行除法运算
num1 = res; // 把结果赋值给num1,以便进行连续运算
num2 = 0; // 第二个数清零
return res;
}
}
// 设置运算符
public void setOperator(char op) {
operator = op;
}
// 获取运算符
public char getOperator() {
return operator;
}
// 清空成员变量,以便进行下一次运算
public void clear() {
num1 = 0;
num2 = 0;
operator = ' ';
}
}
使用方法:
Calculator calc = new Calculator();
calc.add(5); // 第一个数为5
calc.setOperator('+');
calc.add(3); // 第二个数为3,结果为8
calc.subtract(2); // 进行减法运算,结果为6
calc.multiply(4); // 进行乘法运算,结果为24
calc.divide(3); // 进行除法运算,结果为8
calc.clear(); // 清空成员变量,准备进行下一次运算