NPTEL Programming in Java Week 12 Assignment Solution

NPTEL Programming in Java Week 12 Assignment Solution

NPTEL Programming in Java Week 12 All Programming Assignment Solutions | 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

Code Link: Click here

(Password is in video)

Course Name : “Programming in Java”

Question 1 : Complete the code to develop an extended version of the ADVANCED CALCULATOR with added special functions that emulates all the functions of the GUI Calculator.

				
					import java.util.Scanner;

public class Question121{
	public static void main(String args[]){
		Scanner sc = new Scanner(System.in);
		String input = sc.nextLine();

         char seq[] = input.toCharArray();
		int outflag=0;
		
		for(int i=0; i<seq.length; i++){
			seq[i]=gui_map(seq[i]);
		   if (seq[i]=='R' || seq[i]=='S' || seq[i]=='F' ||seq[i]=='C')
				break;
		}
		//Print Mapped GUI (remove comment to see the mapped sequence input)
		/*
		for(int i=0; i<seq.length; i++){
			System.out.print(seq[i]);
		}
		*/
		// Use double type of values for entire calculation
		double operand1=0.0;
		String o1="";
		double operand2=0.0;
		String o2="";
		double output=0.0;
// Perform calculaton operations
		outerloop:
		for(int i=0; i<seq.length; i++){
			if(seq[i]=='C'){				//Clear
				operand1=0.0;
				operand2=0.0;
				output=0.0;
				outflag=0;
				break outerloop;
			}else if(seq[i]=='R'){			//Square Root
				for(int j=0; j<i; j++){
					o1+=Character.toString(seq[j]);
				}
				operand1=Double.parseDouble(o1);
				output=Math.sqrt(operand1);
				outflag=1;
				break outerloop;
			}
			else if(seq[i]=='S'){			//Square
				for(int j=0; j<i; j++){
					o1+=Character.toString(seq[j]);
				}
				operand1=Double.parseDouble(o1);
				output=Math.pow(operand1,2);
				outflag=1;
				break outerloop;
			}else if(seq[i]=='F'){			//Inverse
				for(int j=0; j<i; j++){
					o1+=Character.toString(seq[j]);
				}
				operand1=Double.parseDouble(o1);
				output=Math.pow(operand1,-1);
				outflag=1;
				break outerloop;
			}else{
				int r=0;
	            if(seq[i]=='+'||seq[i]=='-'||seq[i]=='/'||seq[i]=='*'||seq[i]=='='){
					for(int j=0; j<i; j++){
						o1+=Character.toString(seq[j]);
					}
					operand1=Double.parseDouble(o1);
					for(int k=i+1; k<seq.length; k++){
						if(seq[k]=='='){
							outflag=1;   
							operand2=Double.parseDouble(o2);
							if(seq[i]=='+'){     
								output=operand1+operand2;
							}else if(seq[i]=='-'){
								output=operand1-operand2;
							}else if(seq[i]=='/'){             
								output=operand1/operand2;
							}else if(seq[i]=='*'){	            
								output=operand1*operand2;
							}
							break outerloop;
						}else{
							o2+=Character.toString(seq[k]);
						}
					}
				}
			}
		}
		// Check if output is available and print the output
		if(outflag==1)
			System.out.print(output);

  }// The main() method ends here.
	
// A method that takes a character as input and returns the corresponding GUI character
	static char gui_map(char in){
		char out = 'N';// N = Null/Empty
		char gm[][]={{'a','R'}
					,{'b','0'}
					,{'c','.'}
					,{'d','='}
					,{'e','1'}
					,{'f','2'}
					,{'g','3'}
					,{'h','+'}
					,{'i','4'}
					,{'j','5'}
					,{'k','6'}
					,{'l','-'}
					,{'m','7'}
					,{'n','8'}
					,{'o','9'}
					,{'p','*'}
					,{'q','S'}
					,{'r','F'}
					,{'s','C'}
					,{'t','/'}};
					
                                        /* R = Square root
					C = Clear/Restart
					F = Fraction
					S = Square
					*/
					
		// Checking for maps
		for(int i=0; i<gm.length; i++){
			if(gm[i][0]==in){
				out=gm[i][1];
				break;
			}
		}
		return out;
	}
}
				
			

Question 2 : A partial code fragment is given. The URL class object is created in try block.You should write appropriate method( ) to print the protocol name and host name from the given URL string.

				
					import java.net.*;  
public class Question122{  
   public static void main(String[] args){  

   try{  
     URL url=new URL("http://www.Nptel.com/java-tutorial");  
      
//use appropriate code to print the protocol name and host name from url 
    
     System.out.println("Protocol: "+url.getProtocol());  
     System.out.println("Host Name: "+url.getHost());  
   
      }
       catch(Exception e){System.out.println(e);}  
   }  
}
				
			

Question 3 : Write a program to create a record by taking inputs using Scanner class as first name as string ,last name as string ,roll number as integer ,subject1 mark as float,subject2 mark as float. Your program should print in the format “name  rollnumber avgmark“.

				
					import java.util.*;
public class Question123{
  public static void main(String[] args){
      Scanner s1 = new Scanner(System.in);

   //Read your first name
    String f = s1.next();
    //Read your last name
    String l = s1.next();
    //Read rollnumber
    int n = s1.nextInt();
    //Read 1st subject mark
       double db = s1.nextDouble();
	//Read 2nd subject mark
	double db1 = s1.nextDouble();
	double avg=(db+db1)/2;
	System.out.println(f + l +" "+ n +" "+avg );

    }
}
				
			

Question 4 : A program code is given to call the parent class static method and instance method in derive class without creating object of parent class. You should write the appropriate code so that the program print the contents of static method() and instance method () of parent class.

				
					class Parent {
    public static void testClassMethod() {
        System.out.println("The static method.");
    }
    public void testInstanceMethod() {
        System.out.println("The instance method.");
    }
}
public class Child extends Parent {
   public static void testClassMethod() { }

public static void main(String[] args) {
        
     // Call the instance method in the Parent class 
    Child c= new Child();
    c.testInstanceMethod();
		
     // Call the static method in the Parent class
    Parent.testClassMethod();
    
    //Parent ob=c;
   //ob.testClassMethod();
  }
}
				
			

Question 5 : Write a recursive function to print the sum of  first n odd integer numbers. The recursive function should have the prototype ” int sum_odd_n(int n) “.

				
					import java.util.*;
public class Question125 { 
    static int sum_odd_n(int n){ 
          if(n==1)
              return 1;
           if (n <= 0) 
                return 0;

return 2*n-1 + sum_odd_n(n-1);
      }
   public static void main(String[] args) {  
      Scanner in=new Scanner(System.in);
      int count=in.nextInt();      
      int r=sum_odd_n(count);
      System.out.println(r); 	  
    }  
}
				
			

Leave a Reply

Your email address will not be published. Required fields are marked *