如何设计一个能够正确处理两个整数并给出计算结果的计算器程序?
时间: 2024-09-28 15:15:33 浏览: 50
设计一个简单的计算器程序,用于处理两个整数并提供计算结果,通常会遵循以下几个步骤:
1. **需求分析**:明确程序需要支持的基本运算,如加法、减法、乘法和除法。
2. **数据结构**:选择合适的数据类型存储整数,比如使用`int`或`long`。
3. **用户界面**:创建输入框让用户输入数字,以及一个下拉菜单或按钮选择操作符。
4. **函数或方法**:编写函数来执行不同的算术运算。例如,可以有`add(int a, int b)`, `subtract(int a, int b)`, `multiply(int a, int b)` 和 `divide(int a, int b)` 等。
5. **获取用户输入**:从用户界面上读取输入的数字和运算符。
6. **判断运算符**:根据用户选择的操作符调用相应的函数。
7. **错误处理**:考虑边缘情况,如除数为零、非法输入等,并提供适当的错误提示。
8. **输出结果**:将计算结果显示给用户。
9. **测试**:对所有可能的情况进行测试,包括正常操作、边界条件和异常情况。
```java
public class SimpleCalculator {
public static int add(int num1, int num2) { return num1 + num2; }
public static int subtract(int num1, int num2) { return num1 - num2; }
public static int multiply(int num1, int num2) { return num1 * num2; }
public static int divide(int num1, int num2) throws ArithmeticException {
if (num2 == 0) throw new ArithmeticException("Cannot divide by zero");
return num1 / num2;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter first number:");
int num1 = scanner.nextInt();
System.out.println("Enter operator (+, -, *, /):");
String op = scanner.next();
System.out.println("Enter second number:");
int num2 = scanner.nextInt();
try {
switch (op) {
case "+":
System.out.println("Result: " + add(num1, num2));
break;
case "-":
System.out.println("Result: " + subtract(num1, num2));
break;
case "*":
System.out.println("Result: " + multiply(num1, num2));
break;
case "/":
System.out.println("Result: " + divide(num1, num2));
break;
default:
System.out.println("Invalid operator.");
}
} catch (ArithmeticException e) {
System.out.println(e.getMessage());
}
}
}
```
阅读全文