NPTEL Programming in Java Week12 Assignment Solution July 2023

NPTEL-Programming-in-Java-Week12-Assignment-Solution-July-2023

NPTEL Programming in Java Week12 All Programming Assignment Solutions – July – Oct 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 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:

Input : okhid

Output : 100.0

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

Course Name : “Programming in Java 2023”

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.print("Host Name: "+url.getHost()); 
 
      }
   catch(Exception e){System.out.println(e);}  
   }  
}
				
			

Course Name : “Programming in Java 2023”

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

Course Name : “Programming in Java 2023”

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

Course Name : “Programming in Java 2023”

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

For example :

Input :
5
Output:
25 

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