Programming in Java NPTEL Week 5 Assignment

                     

Course Name: Programming in Java NPTEL

Link of Course: https://onlinecourses.nptel.ac.in/noc22_cs47/preview

These are answers for Programming In Java NPTEL Week 5 Assignment


Q1. Consider the following program.
If the program is executed, then what will be the output from the execution?

a. 100
102
b. 20
22
C. 102
100
d. 22
20

Answer: a. 100 102


These are answers for Programming In Java NPTEL Week 5 Assignment


Q2. Consider the following program.
If the program is executed, then what will be the output from the execution?
a. 170
b. 130
c. 0
d. 260

Answer: a. 170


These are answers for Programming In Java NPTEL Week 5 Assignment


Q3. What is the output of the following code?
a. Output: This is Explanation’s Print method
This is Answer’s Print method
b. Error: super.super’ is not allowed.
c. Error: Compilation unsuccessful, as there is only one super class of Answer
d. Output: This is Answer’s Print method
This is Explanation’s Print method

Answer: b. Error: super.super’ is not allowed.


Q4. Which of the following is/are interface(s)?
a. DriverManager
b. Connection
c. Statement
d. ResultSet

Answer: b, c, d


These are answers for Programming In Java NPTEL Week 5 Assignment


Q5. Which of the following statement(s) is/are true?
a. You can write a new instance method in the subclass that has the same signature as the one in the superclass, thus overriding it.
b. You can write a new static method in the subclass that has the same signature as the one in the superclass, thus hiding it.
c. A subclass inherits all of the public and protected members of its parent, no matter what package the subclass is in.
d. You cannot declare new methods in the subclass that are not in the superclass.

Answer: a, b, c


Q6. Which of the following statement(s) is/are true?
a. Static methods in interfaces are never inherited.
b. You will get a compile-time error if you attempt to change an instance method in the superclass to a static method in the subelass. /
c. You can prevent a class from being sub classed by using the final keyword in the class’s declaration.
d. An abstract class can only be subclassed; it cannot be instantiated.

Answer:a, b, c, d


These are answers for Programming In Java NPTEL Week 5 Assignment


Q7. Consider the following piece of code:
Which of the following statement(s) is/are correct?
a. There is no main () method so the program is not compile successfully.
b. The value of i will be printed as 22, as it is static and final by default.
c. The value of I will be printed as 2. as it is initialized in class B.
d. Compile time error

Answer: a. There is no main () method so the program is not compile successfully.


Q8. Which of the following statement(s) is/are true?
a. A class can extend more than one class.
b. An interface can extend many interfaces.
c. An interface can implement many interfaces.
d. A class can extend one class and implement many interfaces.

Answer: b, d


These are answers for Programming In Java NPTEL Week 5 Assignment


Q9. All classes in Java are inherited from which class?
a. java.lang.class
b. java.class.inherited
c. java.class.object
d. java.lang.Object

Answer: d


Q10. If the program is executed, then what will be the output from the execution?
a. Output: 1020
b. Output : 30
c. Output: 2010
d. Error: Cl is abstract; cannot be instantiated.

Answer: d


These are answers for Programming In Java NPTEL Week 5 Assignment


Programming Assignment Solutions

Question 1
An interface Number is defined in the following program. You have to declare a class A, which will implement the interface Number. Note that the method findSqr(n) will return the square of the number n.

Solution:

import java.util.Scanner;

interface Number {
    int findSqr(int i);  // Returns the square of n
}
//Create a class A which implements the interface Number.\
class A implements Number {
  	//Define a method to find the square of a number
	 int i, square;
	 public int findSqr(int i)
     {
		 square=i*i;
         return square;
     }
}

public class Question5_1{
        public static void main (String[] args){
	       A a = new A();   //Create an object of class A
           // Read a number from the keyboard
           Scanner sc = new Scanner(System.in);
           int i = sc.nextInt();
           System.out.print(a.findSqr(i));
   }
}

These are answers for Programming In Java NPTEL Week 5 Assignment


Question 2
This program is to find the GCD (greatest common divisor) of two integers writing a recursive function findGCD(n1,n2). Your function should return -1, if the argument(s) is(are) other than positive number(s).

Solution:

import java.util.Scanner;

interface GCD {
    public int findGCD(int n1,int n2);
}

//Create a class B, which implements the interface GCD.
class B implements GCD {
    int n1,n2;

    //Create a method to calculate GCD
    public int findGCD(int n1, int n2){
		if(n1==0&& n2==0){
			return -1;
		}
		else if(n2 == 0){
			return n1;
		}

		else {
			return findGCD(n2, n1%n2);
		}
     }
 }

 public class Question5_2{
        public static void main (String[] args){
	      B a = new B();   //Create an object of class B
            // Read two numbers from the keyboard
            Scanner sc = new Scanner(System.in);
             int p1 = sc.nextInt();
             int p2 = sc.nextInt();
            System.out.print(a.findGCD(p1,p2));
    }
}

These are answers for Programming In Java NPTEL Week 5 Assignment


Question 3
Complete the code segment to catch the ArithmeticException in the following, if any. On the occurrence of such an exception, your program should print “Exception caught: Division by zero.” If there is no such exception, it will print the result of division operation on two integer values.

Solution:

import java.util.Scanner;

  public class Question5_3 {
  public static void main(String[] args) {
      int a, b;
      Scanner input = new Scanner(System.in);
      int result;
      a = input.nextInt();
      b = input.nextInt();

      // try block to divide two numbers and display the result
      try {
             result = a/b;
             System.out.print(result);
     	  }
      // catch block to catch the ArithmeticException
      catch (ArithmeticException e) {
             System.out.println("Exception caught: Division by zero.");
          }
    }
}

These are answers for Programming In Java NPTEL Week 5 Assignment


Question 4
In the following program, an array of integer data to be initialized. During the initialization, if a user enters a value other than integer value, then it will throw InputMismatchException exception. On the occurrence of such an exception, your program should print “You entered bad data.” If there is no such exception it will print the total sum of the array.

Solution:

//Prefixed Fixed Code:
import java.util.*;
public class Question5_4{
  public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      int length = sc.nextInt();
      // create an array to save user input
      int[] name = new int[length];
      int sum=0;//save the total sum of the array.
      //Define try-catch block to save user input in the array "name",if there is an exception then catch the exception otherwise print the total sum of the array.

      try{
          for(int i=0;i < length;i++)
          {
             int userInput=sc.nextInt();
             name[i] = userInput;
             sum=sum+name[i];
          }
          System.out.print(sum);
       }
      catch(InputMismatchException e) {
          System.out.print("You entered bad data.");
      }
  }
}

These are answers for Programming In Java NPTEL Week 5 Assignment


Question 5
In the following program, there may be multiple exceptions. You have to complete the code using only one try-catch block to handle all the possible exceptions.
For example, if user’s input is 1, then it will throw and catch “java.lang.NullPointerException“.

Solution:

import java.util.Scanner;
public class Question5_5{
	public static void main (String   args[ ] ) {
              Scanner scan = new Scanner(System.in);
              int i = scan.nextInt();
	          int j;
	          // Put the following code under try-catch block to handle exceptions
              try {
        	         switch(i)
                     {
                        case 0 : int zero = 0;
                                 j = 92/ zero;
                                 break;
                        case 1 : int b[ ] = null;
                                 j = b[0] ;
                                 break;
                        default: System.out.print("No exception");
        		     }
        	      }
                // catch block
        		catch (Exception e) {
        		   System.out.print(e) ;
        		}
    	}
}

These are answers for Programming In Java NPTEL Week 5 Assignment


These are answers for Programming In Java NPTEL Week 5 Assignment

All Weeks of Programming In Java: https://progies.in/answers/nptel/programming-in-java

More NPTEL Solutions: https://progies.in/answers/nptel


* The material and content uploaded on this website are for general information and reference purposes only. Please do it by your own first.


These are answers for Programming In Java NPTEL Week 5 Assignment