用java编写四则运算
时间: 2023-05-13 12:07:18 浏览: 75
可以使用Java的基本运算符(+、-、*、/)和括号来编写四则运算。以下是一个简单的示例代码:
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个四则运算表达式:");
String expression = scanner.nextLine();
double result = calculate(expression);
System.out.println("计算结果为:" + result);
}
public static double calculate(String expression) {
// TODO: 实现四则运算的计算逻辑
return 0;
}
}
在calculate方法中,可以使用栈或递归等方式来解析表达式并计算结果。
相关问题
编写四则运算Java代码
以下是一个简单的四则运算 Java 代码示例:
```java
import java.util.Scanner;
public class ArithmeticOperations {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter the first number: ");
double num1 = input.nextDouble();
System.out.print("Enter the second number: ");
double num2 = input.nextDouble();
System.out.println("Select an operator (+, -, *, /): ");
char operator = input.next().charAt(0);
double result;
switch (operator) {
case '+':
result = num1 + num2;
System.out.println(num1 + " + " + num2 + " = " + result);
break;
case '-':
result = num1 - num2;
System.out.println(num1 + " - " + num2 + " = " + result);
break;
case '*':
result = num1 * num2;
System.out.println(num1 + " * " + num2 + " = " + result);
break;
case '/':
result = num1 / num2;
System.out.println(num1 + " / " + num2 + " = " + result);
break;
default:
System.out.println("Invalid operator!");
break;
}
}
}
```
在这个例子中,我们使用了 `Scanner` 类来从用户那里获取输入。然后,我们要求用户输入两个数字和运算符。使用 `switch` 语句来对不同的运算符进行处理,并计算结果。最后,将结果输出到控制台上。
用策略模式编写四则运算
首先,我们需要定义一个操作接口 `Operation`,它包含一个方法 `getResult`,用于计算运算结果。
```java
public interface Operation {
int getResult(int num1, int num2);
}
```
然后,我们需要实现该接口的具体操作类,包括加法、减法、乘法和除法。
```java
public class AddOperation implements Operation {
@Override
public int getResult(int num1, int num2) {
return num1 + num2;
}
}
public class SubtractOperation implements Operation {
@Override
public int getResult(int num1, int num2) {
return num1 - num2;
}
}
public class MultiplyOperation implements Operation {
@Override
public int getResult(int num1, int num2) {
return num1 * num2;
}
}
public class DivideOperation implements Operation {
@Override
public int getResult(int num1, int num2) {
if (num2 == 0) {
throw new IllegalArgumentException("除数不能为0!");
}
return num1 / num2;
}
}
```
接下来,我们需要定义一个上下文类 `Calculator`,它包含一个操作接口 `Operation`的引用变量 `operation`,以及一个方法 `calculate`,用于执行运算。
```java
public class Calculator {
private Operation operation;
public Calculator(Operation operation) {
this.operation = operation;
}
public int calculate(int num1, int num2) {
return operation.getResult(num1, num2);
}
}
```
最后,我们可以通过创建不同的操作类和上下文类,来实现不同的运算。
```java
public class Test {
public static void main(String[] args) {
// 加法运算
Calculator calculator1 = new Calculator(new AddOperation());
System.out.println(calculator1.calculate(2, 3)); // 输出 5
// 减法运算
Calculator calculator2 = new Calculator(new SubtractOperation());
System.out.println(calculator2.calculate(5, 3)); // 输出 2
// 乘法运算
Calculator calculator3 = new Calculator(new MultiplyOperation());
System.out.println(calculator3.calculate(2, 3)); // 输出 6
// 除法运算
Calculator calculator4 = new Calculator(new DivideOperation());
System.out.println(calculator4.calculate(6, 3)); // 输出 2
System.out.println(calculator4.calculate(6, 0)); // 抛出 IllegalArgumentException 异常
}
}
```
通过使用策略模式,我们可以方便地添加新的操作类,同时也可以避免使用大量的条件语句。