Menu
Question Index
...

What will be the output of the following program?

class MethodCalls
{
    public static void main(String[] args)
    {
        a1(8);
    }

    static int a1(int a1)
    {
        System.out.print(" a1 = " + a1);
        return a2(a1++);
    }

    static int a2(int a2)
    {
        if (a2 == 0)
        {
            return 10;
        }
        System.out.print(" a2 = " + a2);
        return a1(a2 / 2);
    }
}


a1 = 8 a2 = 8 a1 = 4 a2 = 4 a1 = 2 a2 = 2 a1 = 1 a2 = 1 a1 = 0 a2 = 0
a1 = 8 a2 = 8 a1 = 4 a2 = 4 a1 = 2 a2 = 2 a1 = 1 a2 = 1 a1 = 0
a1 = 1 a2 = 1 a1 = 2 a2 = 2 a1 = 4 a2 = 4 a1 = 8 a2 = 8
Compilation Error
Goes into infinite loop

Doubts

Problems

Topic: Static and Non Static Variables - Static and Non Static Methods

Read this topic
Take test on this topic

0
Wrong
Score more than 2 points

© meritcampus 2019

All Rights Reserved.

Open In App