用java做一个多功能计算器,可以进行加减乘除,三角函数,乘方,平方根和阶乘。还可以清屏和关闭程序,要有主函数
时间: 2024-09-10 16:19:40 浏览: 71
基于java实现的GUI图形化界面的简单计算器,实现加减乘除、乘方,可以连续运算,带一定纠错功能
在Java中创建一个多功能计算器,我们需要使用控制台输入输出、数学运算以及一些基本的条件判断。下面是一个简单的示例,我们将创建一个Calculator类来实现所需的功能:
```java
import java.util.Scanner;
class Calculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
boolean running = true;
while (running) {
System.out.println("请输入操作(+ - * / sqrt pow tan sin cos ctg fact quit)或输入'quit'退出:");
String input = scanner.nextLine();
if ("quit".equals(input)) {
running = false;
} else {
try {
double result = performOperation(input, scanner.nextDouble());
System.out.println("结果是: " + result);
} catch (Exception e) {
System.out.println("输入错误,请输入有效的数字和操作符。");
}
}
}
// 清屏
System.out.print("\033[2J\033[H"); // 使用ANSI转义码清除屏幕
// 关闭程序
System.exit(0);
}
private static double performOperation(String operation, double operand) throws Exception {
switch (operation) {
case "+":
return operand + operand;
case "-":
return operand - operand;
case "*":
return operand * operand;
case "/":
if (operand != 0)
return operand / operand;
else
throw new Exception("除数不能为零。");
case "sqrt":
return Math.sqrt(operand);
case "pow":
return Math.pow(operand, operand);
case "tan":
return Math.tan(operand);
case "sin":
return Math.sin(operand);
case "cos":
return Math.cos(operand);
case "ctg":
return 1 / Math.tan(operand);
case "fact":
int factorial = 1;
for (int i = 2; i <= operand; i++)
factorial *= i;
return factorial;
default:
throw new Exception("未知的操作符。");
}
}
}
```
在这个例子中,我们首先从用户那里获取输入,然后根据输入执行相应的计算。如果用户输入的是"quit",则结束循环并关闭程序。为了达到清屏效果,我们使用了ANSI转义码。每个操作对应一个switch-case结构,并处理可能的异常情况。
阅读全文