用Java设计一个简单计算器,具体要求如下:能够实现加减乘除四则运算及开方,乘方运算。运算结果能正常显示,可以清零。可以查看历史记录
时间: 2023-08-09 22:08:49 浏览: 48
好的,我可以为您提供一个简单的Java计算器代码,实现以上要求。代码如下:
```java
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
// 历史记录
String history = "";
while (true) {
// 显示菜单
System.out.println("欢迎使用简单计算器!");
System.out.println("1. 加法");
System.out.println("2. 减法");
System.out.println("3. 乘法");
System.out.println("4. 除法");
System.out.println("5. 开方");
System.out.println("6. 乘方");
System.out.println("7. 清零");
System.out.println("8. 查看历史记录");
System.out.println("0. 退出");
// 接收用户输入
Scanner scanner = new Scanner(System.in);
int choice = scanner.nextInt();
// 根据用户选择执行相应的操作
switch (choice) {
case 1:
System.out.println("请输入两个数进行相加:");
double addend1 = scanner.nextDouble();
double addend2 = scanner.nextDouble();
double sum = addend1 + addend2;
history += addend1 + " + " + addend2 + " = " + sum + "\n";
System.out.println("结果为:" + sum);
break;
case 2:
System.out.println("请输入两个数进行相减:");
double minuend = scanner.nextDouble();
double subtrahend = scanner.nextDouble();
double difference = minuend - subtrahend;
history += minuend + " - " + subtrahend + " = " + difference + "\n";
System.out.println("结果为:" + difference);
break;
case 3:
System.out.println("请输入两个数进行相乘:");
double multiplier1 = scanner.nextDouble();
double multiplier2 = scanner.nextDouble();
double product = multiplier1 * multiplier2;
history += multiplier1 + " * " + multiplier2 + " = " + product + "\n";
System.out.println("结果为:" + product);
break;
case 4:
System.out.println("请输入两个数进行相除:");
double dividend = scanner.nextDouble();
double divisor = scanner.nextDouble();
if (divisor == 0) {
System.out.println("除数不能为0!");
break;
}
double quotient = dividend / divisor;
history += dividend + " / " + divisor + " = " + quotient + "\n";
System.out.println("结果为:" + quotient);
break;
case 5:
System.out.println("请输入一个数进行开方:");
double radicand = scanner.nextDouble();
double radical = Math.sqrt(radicand);
history += "sqrt(" + radicand + ") = " + radical + "\n";
System.out.println("结果为:" + radical);
break;
case 6:
System.out.println("请输入一个数进行乘方:");
double base = scanner.nextDouble();
int exponent = scanner.nextInt();
double power = Math.pow(base, exponent);
history += base + "^" + exponent + " = " + power + "\n";
System.out.println("结果为:" + power);
break;
case 7:
history = "";
System.out.println("已清空历史记录!");
break;
case 8:
System.out.println("历史记录:");
System.out.println(history);
break;
case 0:
System.out.println("欢迎下次使用!");
System.exit(0);
break;
default:
System.out.println("请输入正确的选项!");
break;
}
}
}
}
```
该计算器使用了无限循环,用户可以根据菜单选择相应的操作。每次运算结果都会被记录到历史记录中,用户可以通过菜单查看历史记录或者清空历史记录。