以下是一个简单的用Java编写的科学计算器的源代码示例:javaimport java.util.Scanner;public class ScientificCalculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("Welcome to the Scientific Calculator!");System.out.println("Enter 'add', 'subtract', 'multiply', 'divide', 'sin', 'cos', 'tan', 'log', 'exp', 'sqrt', or 'quit' to exit.");while (true) {System.out.print("Enter operation (e.g., add 2 3): ");String operation = scanner.nextLine();if (operation.equalsIgnoreCase("quit")) {break;}String[] parts = operation.split(" ");double num1 = Double.parseDouble(parts[1]);double num2 = Double.parseDouble(parts[2]);switch (parts[0].toLowerCase()) {case "add":System.out.println(num1 + " + " + num2 + " = " + (num1 + num2));break;case "subtract":System.out.println(num1 + " - " + num2 + " = " + (num1 - num2));break;case "multiply":System.out.println(num1 + " * " + num2 + " = " + (num1 * num2));break;case "divide":if (num2 != 0) {System.out.println(num1 + " / " + num2 + " = " + (num1 / num2));} else {System.out.println("Error: Division by zero is not allowed.");}break;case "sin":System.out.println("sin(" + num1 + ") = " + Math.sin(Math.toRadians(num1)));break;case "cos":System.out.println("cos(" + num1 + ") = " + Math.cos(Math.toRadians(num1)));break;case "tan":System.out.println("tan(" + num1 + ") = " + Math.tan(Math.toRadians(num1)));break;case "log":System.out.println("log(" + num1 + ") = " + Math.log10(num1));break;case "exp":System.out.println("exp(" + num1 + ") = " + Math.exp(num1));break;case "sqrt":if (num1 >= 0) {System.out.println("sqrt(" + num1 + ") = " + Math.sqrt(num1));} else {System.out.println("Error: Cannot calculate the square root of a negative number.");}break;default:System.out.println("Error: Invalid operation.");break;}}scanner.close();System.out.println("Goodbye!");}}这个科学计算器支持基本的四则运算(加、减、乘、除)以及一些科学运算(正弦、余弦、正切、对数、指数和平方根)。用户可以通过输入相应的操作和两个数字来执行计算。例如,输入“add 2 3”将计算2加3的结果。代码首先导入了`Scanner`类,用于从用户处获取输入。然后,在`main`方法中,创建了一个`Scanner`对象,用于读取用户的输入。程序通过一个无限循环来持续接收用户的输入,直到用户输入“quit”为止。在循环中,程序首先提示用户输入一个操作,然后读取用户的输入并将其分割为多个部分。接着,程序将第二个和第三个部分转换为`double`类型的数字,并根据第一个部分(即操作)执行相应的计算。程序使用`switch`语句来根据用户输入的操作执行相应的计算。对于基本的四则运算,程序直接执行相应的计算并输出结果。对于科学运算,程序使用了Java的`Math`类中的相应方法。例如,对于正弦运算,程序使用了`Math.sin`方法,并将角度转换为弧度作为参数传递给它。如果用户输入了无效的操作或无效