Language Fundamentals - Programming

Q1:

What will be the output of the program?
public class X 
{
    public static void main(String [] args) 
    {
        String names [] = new String[5];
        for (int x=0; x < args.length; x++)
            names[x] = args[x];
        System.out.println(names[2]);
    }
}
and the command line invocation is > java X a b

A names

B null

C Compilation fails

D An exception is thrown at runtime

ANS:A - names

The names array is initialized with five null elements. Then elements 0 and 1 are assigned the String values 'a' and 'b' respectively (the command-line arguments passed to main). Elements of names array 2, 3, and 4 remain unassigned, so they have a value of null.