Given task is to execute main() multiple times without using any other function and without recursion() and without error. Given condition is that if executing main() n times then you can only call him (n-1) times.
Solution:
class Test { // static block static { main( new String[] { "Hello" }); } public static void main(String[] args) { System.out.println( "Hii" ); } } |
Hii Hii
Explanation: Static block is executed even before the main() executed. Here first, main() get called by static block and then JVM(Java Virtual Machine) call the main(). So, main() is executed two times by calling only one time.