NPTEL Programming in Java Week 12 Assignment Solution July 2022

Programming-In-Java-Week12-Programming-Assignment-Solutions

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

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 as shown in the image.

Note the following points carefully:
1. Use only double datatype to store all numeric values.
2. Each button on the calculator should be operated by typing the characters from ‘a’ to ‘t’.
3. You may use the already defined function gui_map(char).
4. Use predefined methods from java.lang.Math class wherever applicable.
5. Without ‘=’ binary operations won’t give output as shown in Input_3 and Output_3 example below.
5. The calculator should be able to perform required operations on one or two operands as shown in the below example:

				
					// Write code below(sample code is given for hint. Edit it )
// 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]);
						}
					}
				}
			}
		}
				
			

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.

For example:

https://www.xyz.com:1080/index.htm

protocol://host:port/filename

				
					try{  
     URL url=new URL("http://www.Nptel.com/java-tutorial");    
    //use appropriate method() to print the protocol name and host name from url 
    //Write the method() by replacing the blank space.
     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”.

For example:
Input:

ram

das

123

25.5

24.5


Output:

ramdas 123 25.0

				
						//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.print(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.

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

				
			

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) “.

Input :
5
Output:
25.

				
					//Call the method recursively.
return 2*n-1 + sum_odd_n(n-1);