用java写一个简单的计算机,代码要求有循环,有方法重载
时间: 2024-10-08 22:00:49 浏览: 9
在Java中,你可以编写一个简单的命令行计算器,它使用循环遍历用户输入,并利用方法重载来执行加、减、乘、除操作。以下是一个基础的实现:
```java
import java.util.Scanner;
class Calculator {
// 加法方法
public double add(double num1, double num2) {
return num1 + num2;
}
// 减法方法,作为加法的重载
public double subtract(double num1, double num2) {
return num1 - num2;
}
// 乘法方法,作为前两者重载
public double multiply(double num1, double num2) {
return num1 * num2;
}
// 除法方法,注意处理除数为零的情况
public double divide(double num1, double num2) throws ArithmeticException {
if (num2 != 0) {
return num1 / num2;
} else {
throw new ArithmeticException("Division by zero is not allowed.");
}
}
// 主函数,循环接收用户输入并执行计算
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Calculator calc = new Calculator();
while (true) {
System.out.print("Enter an operation (+, -, *, /): ");
String operator = scanner.next();
System.out.print("Enter two numbers separated by space: ");
double num1 = scanner.nextDouble();
double num2 = scanner.nextDouble();
try {
switch (operator) {
case "+":
System.out.println("Result: " + calc.add(num1, num2));
break;
case "-":
System.out.println("Result: " + calc.subtract(num1, num2));
break;
case "*":
System.out.println("Result: " + calc.multiply(num1, num2));
break;
case "/":
System.out.println("Result: " + calc.divide(num1, num2));
break;
default:
System.out.println("Invalid operator!");
}
} catch (ArithmeticException e) {
System.out.println(e.getMessage());
}
System.out.print("\nDo you want to perform another calculation? (yes/no): ");
String response = scanner.next().toLowerCase();
if (!response.equals("yes")) {
break;
}
}
scanner.close();
}
}
```
在这个计算器中,用户可以选择四种基本运算,并根据提示输入数值。每种操作都有对应的重载方法,可以根据用户的输入选择正确的操作。