Machine-translated by Google. Questions are authored in English.
Top

Language Fundamentals - Finding the output Questions and Answers

1.

What will be the output of the program?

and the command-line invocation is

public class CommandArgsThree 
{
    public static void main(String [] args) 
    {
        String [][] argCopy = new String[2][2];
        int x;
        argCopy[0] = args;
        x = argCopy[0].length;
        for (int y = 0; y < x; y++) 
        {
            System.out.print(" " + argCopy[0][y]);
        }
    }
}

> java CommandArgsThree 1 2 3

Answer: D

Correct answer: 1 2 3

Assigning args to argCopy[0] replaces the two-element array that was there with a reference to the command line array itself - array references are assigned, not copied element by element, and the declared inner length of 2 is not a constraint on what may later be stored there. So x becomes 3 and the loop prints all three arguments. The new String[2][2] is a red herring, and the array it created for row 0 is simply discarded.

Please log in or register to report this question.

2.

What will be the output of the program?

public class CommandArgs 
{
    public static void main(String [] args) 
    {
        String s1 = args[1];
        String s2 = args[2];
        String s3 = args[3];
        String s4 = args[4];
        System.out.print(" args[2] = " + s2);
    }
}

and the command-line invocation is

> java CommandArgs 1 2 3 4

Answer: D

Correct answer: An exception is thrown at runtime.

Four arguments give args indices 0 to 3, so args[4] is out of bounds and throws ArrayIndexOutOfBoundsException. The throw happens on the fourth assignment, before any output is produced, so nothing is printed at all - not even the value of args[2], which had been read successfully a moment earlier.

Please log in or register to report this question.

3.

What will be the output of the program ?

public class Test 
{
    public static void main(String [] args) 
    {
        signed int x = 10;
        for (int y=0; y<5; y++, x--) 
        {
            System.out.print(x + ", ");
        }
    }
}

Answer: C

Correct answer: Compilation fails.

Java has no signed keyword. Its integral types are signed by definition - there is no unsigned counterpart to declare against - so the word is not part of the language and signed int x = 10; is rejected. It is a C and C++ construct, and the same applies to unsigned. Nothing runs, so neither of the printed sequences arises.

Please log in or register to report this question.

4.

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

Answer: B

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.

Please log in or register to report this question.

5.

In the given program, how many lines of output will be produced?

public class Test 
{
    public static void main(String [] args) 
    {
    int [] [] [] x = new int [3] [] [];
    int i, j;
    x[0] = new int[4][];
    x[1] = new int[2][];
    x[2] = new int[5][];
    for (i = 0; i < x.length; i++) 
    {
        for (j = 0; j < x[i].length; j++) 
        {
            x[i][j] = new int [i + j + 1];
            System.out.println("size = " + x[i][j].length);
        }
    }
    }
}

Answer: C

The loops use the array sizes (length).

It produces 11 lines of output as given below.

 

D:\Java>javac Test.java

D:\Java>java Test
size = 1
size = 2
size = 3
size = 4
size = 2
size = 3
size = 3
size = 4
size = 5
size = 6
size = 7

 

Therefore, 11 is the answer.

Please log in or register to report this question.

6.

public class F0091 
{    
    public void main( String[] args ) 
    {  
        System.out.println( "Hello" + args[0] ); 
    } 
}

What will be the output of the program, if this code is executed with the command line:

> java F0091 world

Answer: D

Option D is correct. A runtime error will occur owning to the main method of the code fragment not being declared static:

Exception in thread "main" java.lang.NoSuchMethodError: main

The Java Language Specification clearly states: "The main method must be declared public, static, and void. It must accept a single argument that is an array of strings."

Please log in or register to report this question.

7.

What will be the output of the program?


public class TestDogs 
{
    public static void main(String [] args) 
    {
        Dog [][] theDogs = new Dog[3][];
        System.out.println(theDogs[2][0].toString());
    }
}
class Dog { }

Answer: D

The second dimension of the array referenced by theDogs has not been initialized. Attempting to access an uninitialized object element (System.out.println(theDogs[2][0].toString());) raises a NullPointerException.

Please log in or register to report this question.

8.

What will be the output of the program?

public class CommandArgsTwo 
{
    public static void main(String [] argh) 
    {
        int x;
        x = argh.length;
        for (int y = 1; y <= x; y++) 
        {
            System.out.print(" " + argh[y]);
        }
    }
}

and the command-line invocation is

> java CommandArgsTwo 1 2 3

Answer: D

An exception is thrown because at some point in (System.out.print(" " + argh[y]);), the value of x will be equal to y, resulting in an attempt to access an index out of bounds for the array. Remember that you can access only as far as length - 1, so loop logical tests should use x < someArray.length as opposed to x <= someArray.length.

Please log in or register to report this question.

Loading…

Topics

    No topic!
Tags: Language Fundamentals - Finding the output Questions and Answers || Language Fundamentals - Finding the output MCQ Questions and Answers || Language Fundamentals - Finding the output GK Questions and Answers || Language Fundamentals - Finding the output GK MCQ Questions || Language Fundamentals - Finding the output Multiple Choice Questions and Answers || Language Fundamentals - Finding the output GK || GK on Language Fundamentals - Finding the output || Java Programming Questions and Answers || Java Programming MCQ Questions and Answers || Java Programming GK Questions and Answers || GK on Java Programming