Bird
Raised Fist0
Javaprogramming~20 mins

Method calling in Java - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Master of Method Calling
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of method call with recursion
What is the output of this Java program when the printNumbers method is called with argument 3?
Java
public class Test {
    public static void printNumbers(int n) {
        if (n == 0) return;
        System.out.print(n + " ");
        printNumbers(n - 1);
    }

    public static void main(String[] args) {
        printNumbers(3);
    }
}
A3 2 1
B1 2 3
C3 2 1 0
D0 1 2 3
Attempts:
2 left
💡 Hint
Think about how the method prints before the recursive call and when it stops.
❓ Predict Output
intermediate
2:00remaining
Output of method call with overloaded methods
What is the output of this Java program?
Java
public class OverloadTest {
    public static void display(int a) {
        System.out.println("int: " + a);
    }

    public static void display(String a) {
        System.out.println("String: " + a);
    }

    public static void main(String[] args) {
        display(5);
        display("hello");
    }
}
A
int: 5
String: hello
B
String: 5
int: hello
C
int: 5
int: hello
D
String: 5
String: hello
Attempts:
2 left
💡 Hint
Look at the method signatures and which one matches the argument type.
🔧 Debug
advanced
2:00remaining
Identify the error in method call
What error does this Java code produce when compiled?
Java
public class ErrorTest {
    public static void greet() {
        System.out.println("Hello");
    }

    public static void main(String[] args) {
        greet("World");
    }
}
ARuntime error: NullPointerException
BCompilation error: method greet() in class ErrorTest cannot be applied to given types
CCompilation error: missing return statement
DNo error, prints "Hello World"
Attempts:
2 left
💡 Hint
Check the method signature and how it is called.
❓ Predict Output
advanced
2:00remaining
Output of method call with static and instance methods
What is the output of this Java program?
Java
public class StaticInstance {
    public static void staticMethod() {
        System.out.println("Static method called");
    }

    public void instanceMethod() {
        System.out.println("Instance method called");
    }

    public static void main(String[] args) {
        StaticInstance.staticMethod();
        StaticInstance obj = new StaticInstance();
        obj.instanceMethod();
    }
}
A
Static method called
Static method called
B
Instance method called
Static method called
C
Static method called
Instance method called
D
Instance method called
Instance method called
Attempts:
2 left
💡 Hint
Static methods are called on the class, instance methods on objects.
❓ Predict Output
expert
3:00remaining
Output of method call with method overriding and polymorphism
What is the output of this Java program?
Java
class Parent {
    void show() {
        System.out.println("Parent show");
    }
}

class Child extends Parent {
    @Override
    void show() {
        System.out.println("Child show");
    }
}

public class TestPolymorphism {
    public static void main(String[] args) {
        Parent obj = new Child();
        obj.show();
    }
}
ARuntime error: ClassCastException
BParent show
CCompilation error: cannot override show()
DChild show
Attempts:
2 left
💡 Hint
Look at which method is called when a Parent reference points to a Child object.

Practice

(1/5)
1. What does calling a method in Java do?
myMethod();
easy
A. Runs the instructions inside the method named myMethod.
B. Creates a new method called myMethod.
C. Deletes the method myMethod from the program.
D. Prints the name myMethod on the screen.

Solution

  1. Step 1: Understand what a method call does

    Calling a method means running the code inside that method.
  2. Step 2: Analyze the example myMethod();

    This runs the instructions saved inside the method named myMethod.
  3. Final Answer:

    Runs the instructions inside the method named myMethod. -> Option A
  4. Quick Check:

    Method call = run method code [OK]
Hint: Method call runs code inside method name() [OK]
Common Mistakes:
  • Thinking method call creates or deletes methods
  • Confusing method call with printing text
  • Assuming method call changes method definition
2. Which of the following is the correct way to call a method named displayMessage in Java?
easy
A. run displayMessage();
B. call displayMessage();
C. displayMessage;
D. displayMessage();

Solution

  1. Step 1: Recall Java method call syntax

    In Java, you call a method by writing its name followed by parentheses.
  2. Step 2: Check each option

    Only displayMessage(); matches the correct syntax for calling a method.
  3. Final Answer:

    displayMessage(); -> Option D
  4. Quick Check:

    Method call syntax = name() [OK]
Hint: Method call needs parentheses after name [OK]
Common Mistakes:
  • Omitting parentheses when calling methods
  • Adding extra words like 'call' or 'run'
  • Using semicolon without parentheses
3. What is the output of this Java code?
public class Test {
  public static void sayHi() {
    System.out.println("Hi there!");
  }
  public static void main(String[] args) {
    sayHi();
  }
}
medium
A. sayHi()
B. No output
C. Hi there!
D. Compilation error

Solution

  1. Step 1: Identify the method call in main

    The main method calls sayHi(), which prints "Hi there!".
  2. Step 2: Understand what sayHi() does

    It prints the text "Hi there!" to the screen.
  3. Final Answer:

    Hi there! -> Option C
  4. Quick Check:

    Method prints text = output text [OK]
Hint: Method prints text, so output is printed string [OK]
Common Mistakes:
  • Confusing method name with output
  • Expecting no output without print statement
  • Thinking method call causes error
4. Find the error in this Java code snippet:
public class Demo {
  public static void greet() {
    System.out.println("Hello!");
  }
  public static void main(String[] args) {
    greet;
  }
}
medium
A. Incorrect method name.
B. Missing parentheses when calling method greet.
C. Missing semicolon after greet.
D. Method greet is not defined.

Solution

  1. Step 1: Check method call syntax in main

    The code uses greet; which is missing parentheses.
  2. Step 2: Understand correct method call

    Method calls require parentheses even if no arguments: greet();.
  3. Final Answer:

    Missing parentheses when calling method greet. -> Option B
  4. Quick Check:

    Method call needs () [OK]
Hint: Always use () to call methods, even if empty [OK]
Common Mistakes:
  • Forgetting parentheses on method calls
  • Thinking semicolon alone calls method
  • Assuming method call without () is valid
5. Given this Java code:
public class Calculator {
  public static int add(int a, int b) {
    return a + b;
  }
  public static void main(String[] args) {
    int result = add(5, 3);
    System.out.println(result);
  }
}

What will be printed when the program runs?
hard
A. 8
B. 53
C. add(5, 3)
D. Compilation error

Solution

  1. Step 1: Understand method add parameters and return

    The method add takes two integers and returns their sum.
  2. Step 2: Analyze the call add(5, 3)

    It returns 5 + 3 = 8, which is stored in result.
  3. Step 3: Check the output statement

    System.out.println(result); prints the value 8.
  4. Final Answer:

    8 -> Option A
  5. Quick Check:

    Sum of 5 and 3 = 8 [OK]
Hint: Method returns sum; print shows result [OK]
Common Mistakes:
  • Concatenating numbers as strings instead of adding
  • Expecting method name printed instead of result
  • Confusing return value with method call syntax
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard