1

Arrays

Question 1
Which of the following is FALSE about arrays on Java
A
A java array is always an object
B
Length of array can be changed after creation of array
C
Arrays in Java are always allocated on heap
Arrays    
Discuss it


Question 1 Explanation: 
In Java, arrays are objects, they have members like length. The length member is final and cannot be changed. All objects are allocated on heap in Java, so arrays are also allocated on heap.
Question 2
Predict the output?
// file name: Main.java
public class Main {
    public static void main(String args[]) {
       int arr[] = {10, 20, 30, 40, 50};
       for(int i=0; i < arr.length; i++)
       {
             System.out.print(" " + arr[i]);              
       }
    }
}
A
10 20 30 40 50
B
Compiler Error
C
10 20 30 40
Arrays    
Discuss it


Question 2 Explanation: 
It is a simple program where an array is first created then traversed. The important thing to note is, unlike C++, arrays are first class objects in Java. For example, in the following program, size of array is accessed using length which is a member of arr[] object.
Question 3
class Test {
   public static void main(String args[]) {
     int arr[2];  
     System.out.println(arr[0]);
     System.out.println(arr[1]);
   }
}
A
0
0
B
garbage value
garbage value
C
Compiler Error
D
Exception
Arrays    
Discuss it


Question 3 Explanation: 
In Java, it is not allowed to put the size of the array in the declaration because an array declaration specifies only the element type and the variable name. The size is specified when you allocate space for the array. Even the following simple program won't compile.
class Test {
   public static void main(String args[]) {
     int arr[5];   //Error
   }
}
Question 4
class Test {
   public static void main(String args[]) {
     int arr[] = new int[2];  
     System.out.println(arr[0]);
     System.out.println(arr[1]);
   }
}
A
0
0
B
garbage value
garbage value
C
Compiler Error
D
Exception
Arrays    
Discuss it


Question 4 Explanation: 
Java arrays are first class objects and all members of objects are initialized with default values like o, null.
Question 5
public class Main {
    public static void main(String args[]) {
        int arr[][] = new int[4][];
        arr[0] = new int[1];
        arr[1] = new int[2];
        arr[2] = new int[3];
        arr[3] = new int[4];
 
        int i, j, k = 0;
        for (i = 0; i < 4; i++) {
            for (j = 0; j < i + 1; j++) {
                arr[i][j] = k;
                k++;
            }
        }
        for (i = 0; i < 4; i++) {
            for (j = 0; j < i + 1; j++) {
                System.out.print(" " + arr[i][j]);
                k++;
            }
            System.out.println();
        }
    }
} 
A
Compiler Error
B
 0
 1 2
 3 4 5
 6 7 8 9 
C
 0
 0 0
 0 0 0
 0 0 0 0 
D
 9
 7 8
 4 5 6
 0 1 2 3 
Arrays    
Discuss it


Question 5 Explanation: 
In Java, we can create jagged arrays.  Refer Jagged Array in Java for details.
Question 6
Output of following Java program?
class Test
{
    public static void main (String[] args) 
    {
        int arr1[] = {1, 2, 3};
        int arr2[] = {1, 2, 3};
        if (arr1 == arr2) 
            System.out.println("Same");
        else
            System.out.println("Not same");
    }
}
A
Same
B
Not Same
Arrays    
Discuss it


Question 6 Explanation: 
See http://www.geeksforgeeks.org/compare-two-arrays-java/
Question 7
Output of following Java program?
import java.util.Arrays;
class Test
{
    public static void main (String[] args) 
    {
        int arr1[] = {1, 2, 3};
        int arr2[] = {1, 2, 3};
        if (Arrays.equals(arr1, arr2))
            System.out.println("Same");
        else
            System.out.println("Not same");
    }
}
A
Same
B
Not Same
Arrays    
Discuss it


Question 7 Explanation: 
See http://www.geeksforgeeks.org/compare-two-arrays-java/
Question 8
class Test
{
    public static void main (String[] args) 
    {
        int arr1[] = {1, 2, 3};
        int arr2[] = {1, 2, 3};
        if (arr1.equals(arr2))
            System.out.println("Same");
        else
            System.out.println("Not same");
    }
}
A
Same
B
Not same
Arrays    
Discuss it


Question 8 Explanation: 
arr1.equals(arr2) is same as (arr1 == arr2) 
Question 9
Consider the following C program which is supposed to compute the transpose of a given 4 x 4 matrix M. Note that, there is an X in the program which indicates some missing statements. Choose the correct option to replace X in the program.
#include<stdio.h>
#define ROW 4
#define COL 4
int M[ROW][COL] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
main()
{
    int i, j, t;
    for (i = 0; i < 4; ++i)
    {
        X
    }
    for (1 = 0; i < 4; ++i)
        for (j = 0; j < 4; ++j)
            printf ("%d", M[i][j]);
}
 
A)
for(j = 0; j < 4; ++j){
     t = M[i][j];
     M[i][j] = M[j][i];
     M[j][i] = t;
}
 
B)
for(j = 0; j < 4; ++j){
     M[i][j] = t;
     t = M[j][i];
     M[j][i] = M[i][j];
}
 
C)
for(j = i; j < 4; ++j){
     t = M[i][j];
     M[i][j] = M[j][i];
     M[j][i] = t;
}
 
D)
for(j = i; j < 4; ++j){
     M[i][j] = t;
     t = M[j][i];
     M[j][i] = M[i][j];
}
 
A
A
B
B
C
C
D
D
Arrays    GATE-IT-2004    
Discuss it


Question 9 Explanation: 
  • To compute transpose j needs to be started with i,so A and B are WRONG
  • In D, given statement is wrong as temporary variable t needs to be assigned some value and NOT vice versa
     M[i][j] = t; 
So the answer is C Check out the correct option C at Solution: http://code.geeksforgeeks.org/r7wbP6  
There are 9 questions to complete.
1

Company Wise Coding Practice    Topic Wise Coding Practice