Programming in Java | Week 9
Session: JULY-DEC 2023
Course Name: Programming In Java
Course Link: Click Here
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
Programming Assignment
Question 1
Problem statement:
Complete the code to develop a BASIC CALCULATOR that can perform operations like Addition, Subtraction, Multiplication and Division.
Solution:
int i=0,j=0;
double output=0;
char seq[] = input.toCharArray();
for(int a=0; a<seq.length; a++){
if(seq[a]=='+'){
i= Integer.parseInt(input.substring(0,a));
j= Integer.parseInt(input.substring(a+1,seq.length));
output = (double)i+j;
}else if(seq[a]=='-'){
i= Integer.parseInt(input.substring(0,a));
j= Integer.parseInt(input.substring(a+1,seq.length));
output = (double)i-j;
}else if(seq[a]=='/'){
i= Integer.parseInt(input.substring(0,a));
j= Integer.parseInt(input.substring(a+1,seq.length));
output = (double)i/j;
}else if(seq[a]=='*'){
i= Integer.parseInt(input.substring(0,a));
j= Integer.parseInt(input.substring(a+1,seq.length));
output = (double)i*j;
}
}
System.out.print(input+" = " + Math.round(output));
Question 2
Complete the code to develop an ADVANCED CALCULATOR that emulates all the functions of the GUI Calculator as shown in the image.
Solution:
char seq[] = input.toCharArray();
int outflag=0;
for(int i=0; i<seq.length; i++){
seq[i]=gui_map(seq[i]);
}
double operand1=0.0;
String o1="";
double operand2=0.0;
String o2="";
double output=0.0;
outerloop:
for(int i=0; i<seq.length; i++){
int r=0;
if(seq[i]=='+'||seq[i]=='-'||seq[i]=='/'||seq[i]=='X'||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]=='X'){
output=operand1*operand2;
}
break outerloop;
}else{
o2+=Character.toString(seq[k]);
}
}
}
}
if(outflag==1)
System.out.print(output);
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
Question 3
Complete the code to perform a 45 degree anti clock wise rotation with respect to the center of a 5 × 5 2D Array as shown below:
INPUT:
00100
00100
11111
00100
00100
OUTPUT:
10001
01010
00100
01010
10001
Solution:
char arr[][]= new char[5][5];
// Input 2D Array using Scanner Class
for(int line=0;line<5; line++){
String input = sc.nextLine();
char seq[] = input.toCharArray();
if(seq.length==5){
for(int i=0;i<5;i++){
arr[line][i]=seq[i];
}
}else{
System.out.print("Wrong Input!");
System.exit(0);
}
}
char tra[][] = new char[5][5];
String outer[]={"00","10","20","30",
"40","41","42","43",
"44","34","24","14",
"04","03","02","01"};
String inner[]={"11","21","31","32",
"33","23","13","12"};
// 45-Degree rotation
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
// Transform outer portion
for(int k=0; k<outer.length; k++){
char indices[]=outer[k].toCharArray();
int a = Integer.parseInt(String.valueOf(indices[0]));
int b = Integer.parseInt(String.valueOf(indices[1]));
if(a==i && b==j){
if(k==15){k=1;}
else if(k==14){k=0;}
else {k+=2;}
indices=outer[k].toCharArray();
a = Integer.parseInt(String.valueOf(indices[0]));
b = Integer.parseInt(String.valueOf(indices[1]));
tra[a][b] = arr[i][j];
break;
}
}
// Transform inner portion
for(int k=0; k<inner.length; k++){
char indices[]=inner[k].toCharArray();
int a = Integer.parseInt(String.valueOf(indices[0]));
int b = Integer.parseInt(String.valueOf(indices[1]));
if(a==i && b==j){
if(k==7){k=0;}
else {k+=1;}
indices=inner[k].toCharArray();
a = Integer.parseInt(String.valueOf(indices[0]));
b = Integer.parseInt(String.valueOf(indices[1]));
tra[a][b] = arr[i][j];
break;
}
}
// Keeping center same
tra[2][2] = arr[2][2];
}
}
// Print the transformed output
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
System.out.print(tra[i][j]);
}
System.out.println();
}
Question 4
Problem statement:
A program needs to be developed which can mirror reflect any 5 × 5 2D character array into its side-by-side reflection. Write suitable code to achieve this transformation as shown below:
INPUT: OUTPUT:
OOXOO OOXOO
OOXOO OOXOO
XXXOO OOXXX
OOOOO OOOOO
XOABC CBAOX
char original[][]= new char[5][5];
// Declaring 5x5 2D char array to store reflection
char reflection[][]= new char[5][5];
// Input 2D Array using Scanner Class
for(int line=0;line<5; line++){
String input = sc.nextLine();
char seq[] = input.toCharArray();
if(seq.length==5){
for(int i=0;i<5;i++){
original[line][i]=seq[i];
}
}
}
// Performing the reflection operation
for(int i=0; i<5;i++){
for(int j=0; j<5;j++){
reflection[i][j]=original[i][4-j];
}
}
// Output the 2D Reflection Array
for(int i=0; i<5;i++){
for(int j=0; j<5;j++){
System.out.print(reflection[i][j]);
}
System.out.println();
}
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
Question 5
Write suitable code to develop a 2D Flip-Flop Array with dimension 5 × 5, which replaces all input elements with values 0 by 1 and 1 by 0. An example is shown below:
INPUT:
00001
00001
00001
00001
00001
OUTPUT:
11110
11110
11110
11110
11110
Solution:
char original[][]= new char[5][5];
// Input 2D Array using Scanner Class and check data validity
for(int line=0;line<5; line++){
String input = sc.nextLine();
char seq[] = input.toCharArray();
if(seq.length==5){
for(int i=0;i<5;i++){
if(seq[i]=='0' || seq[i]=='1'){
original[line][i]=seq[i];
if(line==4 && i==4)
flipflop(original);
}
else{
System.out.print("Only 0 and 1 supported.");
break;
}
}
}else{
System.out.print("Invalid length");
break;
}
}
}
static void flipflop(char[][] flip){
// Flip-Flop Operation
for(int i=0; i<5;i++){
for(int j=0; j<5;j++){
if(flip[i][j]=='1')
flip[i][j]='0';
else
flip[i][j]='1';
}
}
// Output the 2D FlipFlopped Array
for(int i=0; i<5;i++){
for(int j=0; j<5;j++){
System.out.print(flip[i][j]);
}
System.out.println();
}
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
More Weeks of Programming In Java: Click here
More Nptel Courses: Click here
Session: JAN-APR 2023
Course Name: Programming in Java
Course Link: Click Here
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
Q1. Which of the following is/are correct regarding events in Java?
a. EventObject is super class of all the events.
b. AdjustmentEvent will be notified if scroll bar is manipulated.
c. All the classes and methods required for even handling in Java is in java.io package.
d. getID() method can be used to determine the name of an event.
Answer: a, b
Q2. Which of the following classes is used to display a message dialog in Java Swing?
a. JOptionPane
b. IDialog
c. JMessageDialog
d. JFrame
Answer: a. JOptionPane
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
Q3. Which of the following event is occurred when a button is pressed, a list item is double-clicked or a menu item is selected?
a. AdjustmentEvent
b. ActionEvent
c. ContainerEvent
d. ComponentEvent
Answer: b. ActionEvent
Q4. Which of the statements are correct about Swing programming?
a. AWT is a heavyweight programming.
b. Swing is heavyweight programming.
c. Swing is lightweight programming.
d. Both AWT and Swing are lightweight programming.
Answer: c. Swing is lightweight programming.
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
Q5. Event class is defined in which of the following libraries?
a. java.io
b. javalang
c. java.net
d. java.util
Answer: d. java.util
Q6. Which of the following is/are class(es) in javax.swing package?
a. BoxLayout
b. MenuElement
c. JComponent
d. Scrollable
Answer: a, c
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
Q7. Which of the following statement(s) is/are true?
a. Swing component frame does not support Window Listner.
b. Swing component combobox does not support Window Listner.
c. Swing component checkbox does not support Window Listner.
d. Swing component dialog does not support Window Listner.
Answer: b, c
Q8. A class which implements the ActionListener interface, also it must implement which of the following methods?
a. void handle( ActionEvent e )
b. void actionPerformed( ActionEvent e )
c. void eventDispatched( AWTEvent e )
d. String getActionCommand( ActionEvent e )
Answer: b. void actionPerformed( ActionEvent e )
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
Q9. When a component is added or removed, which of the following events is generated?
a. ComponentEvent
b. ContainerEvent
c. FocusEvent
d. InputEvent
Answer: b. ContainerEvent
Q10. Which of these packages contains all the event handling interfaces?
a. java.lang
b. java.awt
c. java.awt.event
d. java.event
Answer: c. java.awt.event
Programming Assignment of Programming in Java
Question 1
Write suitable code to develop a 2D Flip-Flop Array with dimension 5 × 5, which replaces all input elements with values 0 by 1 and 1 by 0. An example is shown below:
INPUT:
00001
00001
00001
00001
00001
OUTPUT:
11110
11110
11110
11110
11110
Solution:
char original[][]= new char[5][5];
for(int line=0;line<5; line++)
{
String input = sc.nextLine();
char seq[] = input.toCharArray();
if(seq.length==5)
{
for(int i=0;i<5;i++)
{
if(seq[i]=='0' || seq[i]=='1')
{
original[line][i]=seq[i];
if(line==4 && i==4)
flipflop(original);
}
else
{
System.out.print("Only 0 and 1 supported.");
break;
}
}
}
else
{
System.out.print("Invalid length");
break;
}
}
}
static void flipflop(char[][] flip)
{
for(int i=0; i<5;i++)
{
for(int j=0; j<5;j++)
{
if(flip[i][j]=='1')
flip[i][j]='0';
else
flip[i][j]='1';
}
}
for(int i=0; i<5;i++)
{
for(int j=0; j<5;j++)
{
System.out.print(flip[i][j]);
}
System.out.println();
}
Question 2
A program needs to be developed which can mirror reflect any 5 × 5 2D character array into its side-by-side reflection. Write suitable code to achieve this transformation as shown below:
INPUT: OUTPUT:
OOXOO OOXOO
OOXOO OOXOO
XXXOO OOXXX
OOOOO OOOOO
XOABC CBAOX
Solution:
char original[][]= new char[5][5];
char reflection[][]= new char[5][5];
for(int line=0;line<5; line++)
{
String input = sc.nextLine();
char seq[] = input.toCharArray();
if(seq.length==5)
{
for(int i=0;i<5;i++)
{
original[line][i]=seq[i];
}
}
}
for(int i=0; i<5;i++)
{
for(int j=0; j<5;j++)
{
reflection[i][j]=original[i][4-j];
}
}
for(int i=0; i<5;i++)
{
for(int j=0; j<5;j++)
{
System.out.print(reflection[i][j]);
}
System.out.println();
}
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
Question 3
Complete the code to perform a 45 degree anti clock wise rotation with respect to the center of a 5 × 5 2D Array as shown below:
INPUT:
00100
00100
11111
00100
00100
OUTPUT:
10001
01010
00100
01010
10001
Solution:
char arr[][]= new char[5][5];
for(int line=0;line<5; line++)
{
String input = sc.nextLine();
char seq[] = input.toCharArray();
if(seq.length==5)
{
for(int i=0;i<5;i++)
{
arr[line][i]=seq[i];
}
}
else
{
System.out.print("Wrong Input!");
System.exit(0);
}
}
char tra[][] = new char[5][5];
String outer[]={"00","10","20","30",
"40","41","42","43",
"44","34","24","14",
"04","03","02","01"};
String inner[]={"11","21","31","32",
"33","23","13","12"};
for(int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
{
for(int k=0; k<outer.length; k++)
{
char indices[]=outer[k].toCharArray();
int a = Integer.parseInt(String.valueOf(indices[0]));
int b = Integer.parseInt(String.valueOf(indices[1]));
if(a==i && b==j)
{
if(k==15)
{
k=1;
}
else if(k==14)
{
k=0;
}
else
{
k+=2;
}
indices=outer[k].toCharArray();
a = Integer.parseInt(String.valueOf(indices[0]));
b = Integer.parseInt(String.valueOf(indices[1]));
tra[a][b] = arr[i][j];
break;
}
}
for(int k=0; k<inner.length; k++)
{
char indices[]=inner[k].toCharArray();
int a = Integer.parseInt(String.valueOf(indices[0]));
int b = Integer.parseInt(String.valueOf(indices[1]));
if(a==i && b==j)
{
if(k==7)
{
k=0;
}
else
{
k+=1;
}
indices=inner[k].toCharArray();
a = Integer.parseInt(String.valueOf(indices[0]));
b = Integer.parseInt(String.valueOf(indices[1]));
tra[a][b] = arr[i][j];
break;
}
}
tra[2][2] = arr[2][2];
}
}
for(int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
{
System.out.print(tra[i][j]);
}
System.out.println();
}
Question 4
Complete the code to develop an ADVANCED CALCULATOR 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 ‘p’.
3. To calculate 25-6, User should input fjhkc (where, f for 2, j for 5, h for ‘-‘, k for 6 and c for ‘=’ ).
3. You may use the already defined function gui_map(char).
4. Without ‘=’, operations won’t give output as shown in Input_2 and Output_2 example below.
5. The calculator should be able to perform required operations on two operands as shown in the below example:
Input_1:
klgc
Output_1:
18.0
Solution:
char seq[] = input.toCharArray();
int outflag=0;
for(int i=0; i<seq.length; i++)
{
seq[i]=gui_map(seq[i]);
}
double operand1=0.0;
String o1="";
double operand2=0.0;
String o2="";
double output=0.0;
outerloop:
for(int i=0; i<seq.length; i++)
{
int r=0;
if(seq[i]=='+'||seq[i]=='-'||seq[i]=='/'||seq[i]=='X'||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]=='X')
{
output=operand1*operand2;
}
break outerloop;
}
else
{
o2+=Character.toString(seq[k]);
}
}
}
}
if(outflag==1)
System.out.print(output);
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
Question 5
Complete the code to develop a BASIC CALCULATOR that can perform operations like Addition, Subtraction, Multiplication and Division.
Note the following points carefully:
1. Use only double datatype to store calculated numeric values.
2. Assume input to be of integer datatype.
3. The output should be rounded using Math.round() method.
4. Take care of the spaces during formatting output (e.g., single space each before and after =).
5. The calculator should be able to perform required operations on a minimum of two operands as shown in the below example:
Input:
5+6
Output:
5+6 = 11
Solution:
int i=0;
int j=0;
double output=0;
char seq[] = input.toCharArray();
for(int a=0; a<seq.length; a++)
{
if(seq[a]=='+')
{
i= Integer.parseInt(input.substring(0,a));
j= Integer.parseInt(input.substring(a+1,seq.length));
output = (double)i+j;
}
else if(seq[a]=='-')
{
i= Integer.parseInt(input.substring(0,a));
j= Integer.parseInt(input.substring(a+1,seq.length));
output = (double)i-j;
}
else if(seq[a]=='/')
{
i= Integer.parseInt(input.substring(0,a));
j= Integer.parseInt(input.substring(a+1,seq.length));
output = (double)i/j;
}
else if(seq[a]=='*')
{
i= Integer.parseInt(input.substring(0,a));
j= Integer.parseInt(input.substring(a+1,seq.length));
output = (double)i*j;
}
}
System.out.print(input+" = " + Math.round(output));
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
More Weeks of Programming In Java: Click Here
More Nptel courses: http://13.235.254.184/nptel/
Session: JULY-DEC 2022
Course Name: Programming in Java NPTEL
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
Q1) Which of the following Listener(s) is/are supported by button Swing component ?
a. Action Listner
b. Change Listner
c. Item Listner
d. Window Listner
Answer: a, b, c
Q2) Which of the following is/are NOT interface(s) in javax.swing package?
a. MenuElement
b. BoxLayout
c. JComponent
d. Scrollable
Answer: b, c
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
Q3) Which of the following statement(s) is/are false?
a. Swing component frame support Window Listner
b. Swing component combo box support Window Listner.
c. Swing component check box support Window Listner.
d. Swing component dialog support Window Listner.
Answer: b, c
Q4) Which package provides many event classes and Listener interfaces for event handling?
a. java.awt.activeevent
b. java.awt.event
c. java.awt.listener
d. none of these
Answer: b. java.awt.event
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
Q5) Select the correct information
a. JTextField cannot be used as a JLabel.
b. JLabel cannot be used as a JTextField.
c. Button grouped radio button cannot be used instead of JComboBox.
d. JPassword Field extends JLabel.
Answer: b. JLabel cannot be used as a JTextField.
Q6) Which of the following is/are incorrect regarding events in Java?
a. EventClass is super class of all the events.
b. AdjustmentEvent will be notified if scroll bar is manipulated.
c. All the classes and methods required for even handling in Java is in java.awt package.
d. getID() method can be used to determine the type of event.
Answer: a. EventClass is super class of all the events.
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
Q7) Which of the following is/are interface(s) of java.awt package?
a. Button
b. Choice
c. Dialog
d. Paint
Answer: d. Paint
Q8) Which of the following displays components row-by-row in the order in which they were added to the JFrame?
a. CardLayout
b. FlowLayout
c. BorderLayout
d. GridLayout
Answer: b. FlowLayout
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
Q9) Which of the following statements are true?
a. Java AWT components are platform-dependent.
b. Java Swing componets are platform-independent.
c. MVC pattern is not supported by AWT.
d. MVC pattern is supported by Swing.
Answer: a, b, c, d
Q10) Which of the following method is used to set a frame, say f with size 300 × 200 pixels?
JFrame f = new JFrame ();
a. f.setsize (300, 200);
b. f.setSize (300, 200);
c. f.paint (300, 200);
d. f.setVisible (300, 200);
Answer: b. f.setSize (300, 200);
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
Programming Assignment
Question 1
Complete the code to develop a BASIC CALCULATOR that can perform operations like Addition, Subtraction, Multiplication and Division.
Input: 5+6
Output: 5+6 = 11
Solution:
//Code
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
Question 2
Complete the code to develop an ADVANCED CALCULATOR that emulates all the functions of the GUI Calculator as shown in the image.
Input: klgc
Output: 18.0
Solution:
//Code
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
Question 3
Complete the code to perform a 45 degree anti clock wise rotation with respect to the center of a 5 × 5 2D Array as shown below:
INPUT:
00100 00100 11111 00100 00100
OUTPUT:
10001 01010 00100 01010 10001
Solution:
//Code
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
Question 4
A program needs to be developed which can mirror reflect any 5 × 5 2D character array into its side-by-side reflection. Write suitable code to achieve this transformation as shown below:
INPUT:
OOXOO OOXOO XXXOO OOOOO XOABC
OUTPUT:
OOXOO OOXOO OOXXX OOOOO CBAOX
Solution:
//Code
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
Question 5
Write suitable code to develop a 2D Flip-Flop Array with dimension 5 × 5, which replaces all input elements with values 0 by 1 and 1 by 0. An example is shown below:
INPUT:
00001 00001 00001 00001 00001
OUTPUT:
11110 11110 11110 11110 11110
Solution:
//Code
These are NPTEL Programming In Java Week 9 Assignment 9 Answers
More NPTEL Solutions: http://13.235.254.184/nptel
