-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCalculator.java
More file actions
129 lines (110 loc) · 3.89 KB
/
Copy pathCalculator.java
File metadata and controls
129 lines (110 loc) · 3.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
import java.util.Scanner;
/**
* A beginner-friendly console calculator in Java.
* This class provides basic arithmetic operations: addition, subtraction, multiplication, and division.
*/
public class Calculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
boolean continueCalculating = true;
System.out.println("Welcome to the Java Console Calculator!");
while (continueCalculating) {
displayMenu();
int choice = getUserChoice(scanner);
if (choice == 5) {
continueCalculating = false;
System.out.println("Exiting the calculator. Goodbye!");
break;
}
if (choice < 1 || choice > 5) {
System.out.println("Invalid choice. Please select an option from 1 to 5.");
continue;
}
System.out.print("Enter the first number: ");
double num1 = getValidDouble(scanner);
System.out.print("Enter the second number: ");
double num2 = getValidDouble(scanner);
double result = 0;
switch (choice) {
case 1:
result = add(num1, num2);
System.out.println("Result: " + num1 + " + " + num2 + " = " + result);
break;
case 2:
result = subtract(num1, num2);
System.out.println("Result: " + num1 + " - " + num2 + " = " + result);
break;
case 3:
result = multiply(num1, num2);
System.out.println("Result: " + num1 + " * " + num2 + " = " + result);
break;
case 4:
if (num2 == 0) {
System.out.println("Error: Division by zero is not allowed.");
} else {
result = divide(num1, num2);
System.out.println("Result: " + num1 + " / " + num2 + " = " + result);
}
break;
}
System.out.println("--------------------------------------------------");
}
scanner.close();
}
/**
* Displays the calculator menu.
*/
private static void displayMenu() {
System.out.println("\nSelect 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("5. Exit");
System.out.print("Enter choice (1-5): ");
}
/**
* Gets a valid integer choice from the user.
*/
private static int getUserChoice(Scanner scanner) {
while (!scanner.hasNextInt()) {
System.out.println("Invalid input. Please enter a number (1-5).");
scanner.next(); // Clear invalid input
}
return scanner.nextInt();
}
/**
* Gets a valid double number from the user.
*/
private static double getValidDouble(Scanner scanner) {
while (!scanner.hasNextDouble()) {
System.out.println("Invalid input. Please enter a numerical value.");
scanner.next(); // Clear invalid input
}
return scanner.nextDouble();
}
/**
* Adds two numbers.
*/
public static double add(double a, double b) {
return a + b;
}
/**
* Subtracts the second number from the first.
*/
public static double subtract(double a, double b) {
return a - b;
}
/**
* Multiplies two numbers.
*/
public static double multiply(double a, double b) {
return a * b;
}
/**
* Divides the first number by the second.
*/
public static double divide(double a, double b) {
return a / b;
}
}