Skip to content

Unable to call Multiple methods in Main method of Java Calculator program

This is a simple Calculator java program. I am trying to build 4 operations (+, -, * & /) using java.

To make program modular I have created multiple method and calling them in Main() method. Problem is method ‘calcContinue();’ is not invoking from the main method. I am not getting error or warnings. On running, main() method is invoking chooseOperation() and allow user to enter num1 and num2. However, nothing is after that. I am expecting main() to invoke ‘calcContinue() method as well.

Please advise suggestions how can I correct my code to make ‘calcContinue()’ called from the main.

import java.util.*;

public class Calculator {

    static double num1, num2;
    static int operator;
    static double result;
    static Scanner scanObj = new Scanner(;

    public static void main(String[] args) {        //main method
        System.out.print("enter first number:");                                            //user will enter number 1
        num1 = scanObj.nextDouble();

        System.out.print("enter Second number:");                                           //user will enter number 1
        num2 = scanObj.nextDouble();


    public static void chooseOperation() {          //user will choose calculator operation using 1-4

        System.out.println("Please select"
                + "n 1. Addition "
                + "n 2. Subtraction"
                + "n 3. Multiplication"
                + "n 4. Division");

        System.out.print("enter the calculator operationt" + scanObj.nextLine());  //user will enter calculator operation
        operator = scanObj.nextInt();

        if (operator == 1 ) {

        else if (operator == 2) {

        else if (operator == 3) {

        else {


    public static char calcContinue() {                 //method for user to select if they want to continue
        System.out.print("do you want to perform more operation t Y/N ?" +;

        char a =;

        if (a == 'Y' || a == 'y') {

        } else {
            System.out.println("Calculator operation is terminated");

        return a;

    public static void addition() {     //method for addition
        result = num1 + num2;
        System.out.println("Addition oft" +num1+ "and" +num2+ "ist:" + result);

    //method for subtraction
    public static void subtraction() {
        result = num1 - num2;
        System.out.println("subtraction oft" +num1+ "and" +num2+ "is:t" + result);

    //method for multiplication
    public static void multiplication() {
        result = num1 * num2;
        System.out.println("multiplication oft" +num1+ "and" +num2+ "is:t" + result);

    //method for division
    public static void division() {
        result = num1/num2;
        System.out.println("Division oft" +num1+ "and" +num2+ "is:t" + "" + result);


First of all, your code works just fine. The problem is that right at the beginning of calcContinue() you tell java IO to wait 2 times to enter an input. Just replace

System.out.print("do you want to perform more operation t Y/N ?" +;


System.out.print("do you want to perform more operation t Y/N ?");

In the next line you are reading the input from the user. So there is no need for calling inside the print statement.