Calculator.java
59 linesjava
DOWNLOAD
1// Aim: Program to perform Exception Handling operations (Calculator).
2import java.util.InputMismatchException;
3import java.util.Scanner;
4
5public class Calculator {
6
7    public static void main(String[] args) {
8        Scanner scanner = new Scanner(System.in);
9
10        while (true) {
11            try {
12                System.out.print("Enter first number: ");
13                double num1 = scanner.nextDouble();
14
15                System.out.print("Enter second number: ");
16                double num2 = scanner.nextDouble();
17
18                System.out.print("Enter an operator (+, -, *, /) or 'q' to quit: ");
19                char operator = scanner.next().charAt(0);
20
21                if (operator == 'q') {
22                    break;
23                }
24
25                double result;
26                switch (operator) {
27                    case '+':
28                        result = num1 + num2;
29                        break;
30                    case '-':
31                        result = num1 - num2;
32                        break;
33                    case '*':
34                        result = num1 * num2;
35                        break;
36                    case '/':
37                        if (num2 == 0) {
38                            throw new ArithmeticException("Cannot divide by zero");
39                        }
40                        result = num1 / num2;
41                        break;
42                    default:
43                        throw new IllegalArgumentException("Invalid operator");
44                }
45
46                System.out.println("The result is: " + result);
47            } catch (InputMismatchException e) {
48                System.out.println("Error: Please enter numeric values.");
49                scanner.next(); // Clear the invalid input
50            } catch (ArithmeticException e) {
51                System.out.println("Error: " + e.getMessage());
52            } catch (IllegalArgumentException e) {
53                System.out.println("Error: " + e.getMessage());
54            }
55        }
56
57        scanner.close();
58    }
59}
KTU Cyberlab vault