Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"java.debug.settings.onBuildFailureProceed": true
}
124 changes: 71 additions & 53 deletions Java_Beginner_Projects/Calculator/Calculator.java
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
import java.util.concurrent.Callable;
import java.util.Scanner;// A library that permits user input in java.

public class Calculator {// A simple calculator program.

Scanner scanner = new Scanner(System.in);//A variable that holds user inputs.
static Scanner scanner = new Scanner(System.in);// A variable that holds user inputs.

public void Menu(int Option){// A Menu method.
System.out.println("\t A Simple Calculator program \n\t--Menu-- \n 1. Addition \n 2. Subtraction \n 3. Multiplication \n 4. Division \n 5. Exit");
public static void Menu() {// A Menu method.
System.out.println(
"\t A Simple Calculator program \n\t--Menu-- \n 1. Addition \n 2. Subtraction \n 3. Multiplication \n 4. Division \n 5. Exit");
System.out.print("Enter an option: ");

}
//The Addition method
public int Add(){

// The Addition method
public static int Add() {
System.out.println("\n \tAddition...");
System.out.println("Enter your first number: ");
int a = scanner.nextInt();
Expand All @@ -18,8 +21,9 @@ public int Add(){
System.out.println("Answer = " + (a + b));
return a + b;
}
//The subtraction method.
public int Sub(){

// The subtraction method.
public static int Sub() {
System.out.println("\n \tSubtraction...");
System.out.println("Enter your first number: ");
int a = scanner.nextInt();
Expand All @@ -30,7 +34,7 @@ public int Sub(){
}

// The multiplication method.
public int Mul(){
public static int Mul() {
System.out.println("\n \tMultiplication...");
System.out.println("Enter your first number: ");
int a = scanner.nextInt();
Expand All @@ -40,61 +44,75 @@ public int Mul(){
return a * b;
}

//The division method.
public void Div(){
// The division method.
public static void Div() {
System.out.println("\n \tDivision...");
System.out.println("Enter your first number: ");
int a = scanner.nextInt();
System.out.println("Enter your second number: ");
int b = scanner.nextInt();
if (b==0){
String zero ="Division by zero is invalid";
if (b == 0) {
String zero = "Division by zero is invalid";
System.err.println(zero);
}
else{
} else {
System.out.println("Answer = " + (a / b));
}
}

//A method for exit.
public void exit(){
System.out.println("Exiting...");
}
// A method for exit.
public static void exit() {
System.out.println("Exiting...");
System.exit(0);
}

int option;
//Main Method.
public void main(String [] args){
option = scanner.nextInt();
int c;
do{
Menu(option);//calling the menu method using the args option.
static int option;

switch (option) {
case 1:
Add();
break;
case 2:
Sub();
break;
case 3:
Mul();
break;
case 4:
Div();
break;
case 5:
exit();
break;
default:
System.out.println("Unknown option");
break;
}
System.out.println("Do you want to continue? \n (1. Yes 2. No)");
c = scanner.nextInt();
if (c== 2){exit();}
else{
System.out.println("\n\n\n");
// Main Method.
public static void main(String[] args) {
int c = 0;
while (c == 0) {
Menu();
option = scanner.nextInt();

try {
switch (option) {
case 1:
Add();
break;
case 2:
Sub();
break;
case 3:
Mul();
break;
case 4:
Div();
break;
case 5:
exit();
break;
default:
System.err.println("Unrecognized input");
break;
}
} catch (Exception e) {
System.err.println("Unrecognized input");
}
System.out.println("Enter an option: Do you want to continue?\n(1. Yes\n2. No)");
c = scanner.nextInt();
switch (c) {
case 1:
System.out.println("Continuing\n\n\n");
c--;
break;
default:
exit();
break;
}

}
System.err.println("Reached end of main method");
System.exit(1);
}
}while(c == 1);
}
}
// modified 6/25/2026