Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.example;
- import java.util.Scanner;
- public class CalculatorChanges_3 {
- public interface Operation {
- double getResult();
- public class Addition implements Operation {
- private double result;
- public Addition(double num1, double num2) {
- this.result = num1 + num2;
- }
- @Override
- public double getResult() {
- return result;
- }
- }
- public class Subtraction implements Operation {
- private double result;
- public Subtraction(double num1, double num2) {
- this.result = num1 - num2;
- }
- @Override
- public double getResult() {
- return result;
- }
- }
- public class Multiplication implements Operation {
- private double result;
- public Multiplication(double num1, double num2) {
- this.result = num1 * num2;
- }
- @Override
- public double getResult() {
- return result;
- }
- }
- public class Division implements Operation {
- private double result;
- public Division(double num1, double num2) {
- if (num2 != 0) {
- this.result = num1 / num2;
- } else {
- throw new ArithmeticException("Cannot divide by zero");
- }
- }
- @Override
- public double getResult() {
- return result;
- }
- }
- public class CalculatorMenu {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- boolean keepRunning = true;
- while (keepRunning) {
- System.out.println("Choose an operation:");
- System.out.println("1) Addition");
- System.out.println("2) Subtraction");
- System.out.println("3) Multiplication");
- System.out.println("4) Division");
- System.out.println("0) Exit");
- System.out.print("Enter your choice: ");
- int choice = scanner.nextInt();
- if (choice == 0) {
- keepRunning = false;
- System.out.println("Exiting the program...");
- continue;
- }
- System.out.print("Enter first number: ");
- double num1 = scanner.nextDouble();
- System.out.print("Enter second number: ");
- double num2 = scanner.nextDouble();
- Operation operation = null;
- if (choice == 1) {
- operation = new Addition(num1, num2);
- } else if (choice == 2) {
- operation = new Subtraction(num1, num2);
- } else if (choice == 3) {
- operation = new Multiplication(num1, num2);
- } else if (choice == 4) {
- try {
- operation = new Division(num1, num2);
- } catch (ArithmeticException e) {
- System.out.println(e.getMessage());
- continue;
- }
- } else {
- System.out.println("Invalid command.");
- continue;
- }
- System.out.println("Result: " + operation.getResult());
- System.out.print("Do you want to solve another task? (yes/no): ");
- String response = scanner.next();
- if (!response.equalsIgnoreCase("yes")) {
- keepRunning = false;
- }
- }
- scanner.close();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement