0

programming languages Online Quiz - 108

Description: programming languages Online Quiz - 108
Number of Questions: 20
Created by:
Tags: programming languages
Attempted 0/20 Correct 0 Score 0

Which interface does TreeMap class implement ?

  1. Set

  2. SortedSet

  3. List

  4. Tree

  5. SortedMap


Correct Option: E

A monitor called nik has 3 threads, having same priority, in its waiting pool; How can we notify one of the threads, named 'thread1' to move from Waiting state to Ready State?

  1. Execute notify(thread1); from within synchronized code of mon.

  2. Execute mon.notify(thread1); from synchronized code of any object.

  3. Execute thread1.notify(); from synchronized code of any object.

  4. Execute thread1.notify(); from any code(synchronized or not) of any object.

  5. You cannot specify which thread will get notified.


Correct Option: E

What of the following fails to cause a thread stop executing ?

  1. The program exits via a call to System.exit(0);

  2. Another thread is given a higher priority.

  3. A call to the thread's stop method.

  4. A call to the halt method of the Thread class.


Correct Option: D

Which statement is true for the following code? public class Rpcraven { public static void main(String argv[]){ Pmcraven pm1 = new Pmcraven("one"); pm1.run(); Pmcraven pm2 = new Pmcraven("two"); pm2.run(); } } class Pmcraven extends Thread { private String sTname=""; Pmcraven(String s) { sTname = s; } public void run(){ for(int i =0; i < 2 ; i++){ try { sleep(1000); }catch(InterruptedException e){ } yield(); System.out.println(sTname); } } }

  1. Compile time error, class Rpcraven does not import java.lang.Thread

  2. Output of One One Two Two

  3. Output of One Two One Two

  4. Output of One Two Two One


Correct Option: B

AI Explanation

To answer this question, let's go through each option to understand why it is correct or incorrect:

Option A) Compile time error, class Rpcraven does not import java.lang.Thread - This option is incorrect. The java.lang.Thread class is part of the Java standard library and does not require an explicit import statement.

Option B) Output of One One Two Two - This option is correct. The main method creates two instances of the Pmcraven class, passing "one" and "two" as arguments to the constructor. Each instance of Pmcraven is a separate thread. When the run method is called on each thread, it prints the value of sTname twice, resulting in the output "One One Two Two".

Option C) Output of One Two One Two - This option is incorrect. The run method of Pmcraven does not alternate the printing of "One" and "Two". Instead, it prints the value of sTname twice in a row before moving on to the next thread.

Option D) Output of One Two Two One - This option is incorrect. The run method of Pmcraven does not print "Two" before printing "One" for the second time. Instead, it prints the value of sTname twice in a row before moving on to the next thread.

The correct answer is B. This option is correct because the output of the code will be "One One Two Two" as explained above.

Given: 11. public static Iterator reverse(List list) { 12. Collections.reverse(list); 13. return list.iterator(); 14. } 15. public static void main(String[] args) { 16. List list = new ArrayList(); 17. list.add(” 1”); list.add(”2”); list.add(”3”); 18. for (Object obj: reverse(list)) 19. System.out.print(obj + “,”); 20. } ‘What is the result?

  1. 3,2, 1,

  2. 1, 2, 3,

  3. Compilation fails.

  4. The code runs with no output.

  5. An exception is thrown at runtime.


Correct Option: C

What will be the outcome of line no. 9 in the following program ? 1. public class SearchArray { 2. public static void main(String[] args) { 3. String[] strArr = {"one","two","three","four","five","six","seven"}; 4. boolean[] boolArr = {true,false,false,true,false}; 5. int[] intArr = {22,11,66,99}; 6. Arrays.sort(intArr); 7. for(int n=0; n

  1. -3

  2. 3

  3. -4

  4. 4


Correct Option: C

Given: 11. public static Iterator reverse(List list) { 12. Collections.reverse(list); 13. return list.iterator(); 14. } 15. public static void main(String[] args) { 16. List list = new ArrayList(); 17. list.add(” 1”); list.add(”2”); list.add(”3”); 18. for (Object obj: reverse(list)) 19. System.out.print(obj + “,”); 20. } ‘What is the result?

  1. 3,2, 1,

  2. 1, 2, 3,

  3. Compilation fails.

  4. The code runs with no output.

  5. An exception is thrown at runtime.


Correct Option: C

Given: 11. public static Collection get() { 12. Collection sorted = new LinkedList(); 13. sorted.add(’B”); sorted.add(”C”); sorted.add(”A”); 14. return sorted; 15. } 16. public static void main(String[] args) { 17. for (Object obj: get()) { 18. System.out.print(obj + “, “); 19. } 20. } What is the result?

  1. A, B, C,

  2. B, C, A,

  3. Compilation fails.

  4. The code runs with no output.

  5. An exception is thrown at runtime.


Correct Option: B

Program output : package com.collection.examples; import java.util.HashSet; public class HashSetExample { public static void main(String[] args) { HashSet s = new HashSet();//1 for(short i = 0; i<100;i++){ //2 s.add(i); //3 s.remove(i-1); //4 } System.out.println(s.size()); //5 } }

  1. NumberFormat Exception

  2. 100

  3. Compilation fails at line 4

  4. 99


Correct Option: B

Which of the following options is true for the following program: try { if (choice) { while (true) } else { system .exit(1): } }finally { codetocleanup(); }

  1. Runtime Exception

  2. finally block will be executed

  3. finally block will not be executed

  4. Compilation error in else block


Correct Option: C

A monitor called nik has 3 threads, having same priority, in its waiting pool; How can we notify one of the threads, named 'thread1' to move from Waiting state to Ready State?

  1. Execute notify(thread1); from within synchronized code of mon.

  2. Execute mon.notify(thread1); from synchronized code of any object.

  3. Execute thread1.notify(); from synchronized code of any object.

  4. Execute thread1.notify(); from any code(synchronized or not) of any object.

  5. You cannot specify which thread will get notified.


Correct Option: E

What of the following fails to cause a thread stop executing ?

  1. The program exits via a call to System.exit(0);

  2. Another thread is given a higher priority.

  3. A call to the thread's stop method.

  4. A call to the halt method of the Thread class.


Correct Option: D

Which statement is true for the following code? public class Rpcraven { public static void main(String argv[]){ Pmcraven pm1 = new Pmcraven("one"); pm1.run(); Pmcraven pm2 = new Pmcraven("two"); pm2.run(); } } class Pmcraven extends Thread { private String sTname=""; Pmcraven(String s) { sTname = s; } public void run(){ for(int i =0; i < 2 ; i++){ try { sleep(1000); }catch(InterruptedException e){ } yield(); System.out.println(sTname); } } }

  1. Compile time error, class Rpcraven does not import java.lang.Thread

  2. Output of One One Two Two

  3. Output of One Two One Two

  4. Output of One Two Two One


Correct Option: B

AI Explanation

To answer this question, let's analyze the given code:

public class Rpcraven {
    public static void main(String argv[]){
        Pmcraven pm1 = new Pmcraven("one");
        pm1.run();
        Pmcraven pm2 = new Pmcraven("two");
        pm2.run();
    }
}

class Pmcraven extends Thread {
    private String sTname="";

    Pmcraven(String s) {
        sTname = s;
    }

    public void run(){
        for(int i =0; i &lt; 2 ; i++){
            try {
                sleep(1000);
            } catch(InterruptedException e){ }
            yield();
            System.out.println(sTname);
        }
    }
}

The code defines a class Rpcraven with a main method, and a class Pmcraven that extends Thread.

In the main method, two Pmcraven objects pm1 and pm2 are created with arguments "one" and "two" respectively. The run method of each object is then called.

In the Pmcraven class, the run method contains a loop that runs twice. Inside the loop, the thread sleeps for 1 second, yields the CPU, and then prints the value of sTname.

Now, let's go through each option to determine which statement is true:

Option A) Compile time error, class Rpcraven does not import java.lang.Thread - This option is incorrect. The java.lang.Thread class is automatically imported by default in Java, so there is no need for an explicit import statement.

Option B) Output of One One Two Two - This option is correct. The program creates two Pmcraven threads, pm1 and pm2, with arguments "one" and "two" respectively. When the run method of each thread is called, it enters a loop that runs twice. In each iteration, it sleeps for 1 second, yields the CPU, and then prints the value of sTname. Therefore, the output will be "One One Two Two".

Option C) Output of One Two One Two - This option is incorrect. The run method of pm1 is called before the run method of pm2, so it will complete its execution first. Therefore, the output will start with "One" twice, followed by "Two" twice.

Option D) Output of One Two Two One - This option is incorrect. The run method of pm1 is called before the run method of pm2, so it will complete its execution first. Therefore, the output will start with "One" twice, followed by "Two" twice.

The correct answer is option B) Output of One One Two Two.

What will happen when you attempt to compile and run the following code? public class Bground extends Thread{ public static void main(String argv[]){ Bground b = new Bground(); b.run(); } public void start(){ for (int i = 0; i <10; i++){ System.out.println("Value of i = " + i); } } }

  1. A compile time error indicating that no run method is defined for the Thread class.

  2. A run time error indicating that no run method is defined for the Thread class.

  3. Clean compile and at run time the values 0 to 9 are printed out.

  4. Clean compile but no output at runtime.


Correct Option: D

AI Explanation

To answer this question, let's analyze the given code:

public class Bground extends Thread{
    public static void main(String argv[]){
        Bground b = new Bground();
        b.run();
    }

    public void start(){
        for (int i = 0; i &lt; 10; i++){
            System.out.println("Value of i = " + i);
        }
    }
}

In this code, the class Bground extends the Thread class. The Thread class provides a run method that is executed when a thread is started.

However, in this code, the start method is overridden in the Bground class. This start method contains a loop that prints the values of i from 0 to 9.

Now, let's analyze the main method. It creates an instance of the Bground class and calls the run method on it.

The issue with this code is that it directly calls the run method instead of using the start method, which is the correct way to start a thread. When the run method is called directly, it runs in the same thread as the caller. This means that the loop in the start method will execute sequentially without creating a new thread.

Therefore, when you attempt to compile and run this code, it will compile without any errors (hence "Clean compile"), but there will be no output at runtime (hence "no output at runtime"). The correct answer is option D.

If you want the code to create a new thread and execute the loop concurrently, you should change b.run() to b.start(). This will start a new thread that executes the run method, and you will see the values of i printed out.

What will be the output of the following program? package scjp.threadTest; public class Ques01 { public static void main(String[] args) { HelloThread hello = new HelloThread(); hello.start(); } } class MyThread implements Runnable{ @Override public void run() { System.out.println("My thread"); } } class HelloThread extends Thread{ public void start(){ System.out.println("Hello thread"); } public void run(){ Thread thread = new Thread(new MyThread()); thread.start(); } }

  1. The program will output 'Hello Thread' and 'My Thread'.

  2. The program will output 'Hello Thread'.

  3. The program will output 'My Thread' and 'Hello Thread'.

  4. The order of the outputs is not will vary upon execution.


Correct Option: B

What will be output for the following program? public class BoxingTest { public static void main(String[] args) { byte b = 10; method(b); } static void method(int i){ System.out.println("Primitive Type call"); } static void method(Integer i){ System.out.println("Wrapper Type Call"); } }

  1. Wrapper Type Call

  2. Primitive Type Call

  3. Compiler Error

  4. Compiles fine, throws runtime exception


Correct Option: B

How does the set collection deal with duplicate elements?

  1. An exception is thrown if you attempt to add an element with a duplicate value.

  2. The add method returns false if you attempt to add an element with a duplicate value.

  3. A set may contain elements that return duplicate values from a call to the equals method.

  4. Duplicate values will cause an error at compile time.


Correct Option: B

Is this code legal ? class ExceptionA extends Exception {} class ExceptionB extends ExceptionA {} public class Test{ void thrower() throws ExceptionB{ throw new ExceptionB(); } public static void main(String[] args){ Test t = new Test(); try{t.thrower();} catch(ExceptionA e) {} catch(ExceptionB e) {} } }

  1. yes

  2. no

  3. DO NOT SELECT 1

  4. DO NOT SELECT 2


Correct Option: B

Is this code legal ? class ExceptionA extends Exception {} class ExceptionB extends ExceptionA {} class A{ void thrower() throws ExceptionA{ throw new ExceptionA(); } } public class B extends A{ void thrower() throws ExceptionB{ throw new ExceptionB(); } }

  1. yes

  2. no

  3. DO NOT SELECT 1

  4. DO NOT SELECT 2


Correct Option: A

Which interface does TreeMap class implement ?

  1. Set

  2. SortedSet

  3. List

  4. Tree

  5. SortedMap


Correct Option: E
- Hide questions