NPTEL Programming in Java Week 5 Assignment Solution 2023

NPTEL-Programming-In-Java-Week-5-Programming-Assignment-Solutions

NPTEL Programming in Java Week 5 All Programming Assignment Solutions – January 2023 | Swayam. With the growth of Information and Communication Technology, there is a need to develop large and complex software.

Further, those software should be platform independent, Internet enabled, easy to modify, secure, and robust. To meet this requirement object-oriented paradigm has been developed and based on this paradigm the Java programming language emerges as the best programming environment.

Now, Java programming language is being used for mobile programming, Internet programming, and many other applications compatible to distributed systems.

This course aims to cover the essential topics of Java programming so that the participants can improve their skills to cope with the current demand of IT industries and solve many problems in their own filed of studies.

COURSE LAYOUT
    • Week 1 : Overview of Object-Oriented Programming and Java
    • Week 2 : Java Programming Elements
    • Week 3 : Input-Output Handling in Java
    • Week 4 : Encapsulation
    • Week 5 : Inheritance
    • Week 6 : Exception Handling
    • Week 7 : Multithreaded Programming
    • Week 8 : Java Applets and Servlets
    • Week 9 : Java Swing and Abstract Windowing Toolkit (AWT)
    • Week 10 : Networking with Java
    • Week 11: Java Object Database Connectivity (ODBC)
    • Week 12: Interface and Packages for Software Development

Course Name : “Programming in Java 2023”

Question : 1 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.

				
					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.");
          }
    }
}
				
			

Question : 2 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.

				
					//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.");
      }
  }
}
				
			

Question : 3  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“.

				
					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) ;
        		}
    	}
}
				
			

Question : 4 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.

				
					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)); 
   }
}
				
			

Question : 5 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).

				
					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)); 
    } 
}