Programming in Java Nptel Week 9 Assignment Answers
Are you looking for Programming in Java Nptel Week 9 Assignment Answers? You’ve come to the right place! Access the latest and most accurate solutions for your Week 9 assignment in the Programming in Java course
Course Link: Click Here
Table of Contents
Programming in Java Nptel Week 9 Assignment Answers (July-Dec 2024)
- Which of the following is a one-line input field that allows the user to choose a number or an object value from an ordered sequence?
A) Jtextarea
B) Jtextfield
C) Jspinner
D) Jslider
Answer: C) Jspinner
- What is true about the following code.
A) Both “OK” and “Cancel” button is added, but only “Cancel” button is visible.
B) Only “OK” button is added and visible, “Cancel” button is not added.
C) Only “Cancel” button will be added and visible, “OK” button is not added.
D) Code throws an ERROR.
Answer: A) Both “OK” and “Cancel” button is added, but only “Cancel” button is visible.
- Which of the following is a container for other components and is used to build bespoke panels for organizing and arranging components?
A) Jpanel
B) Jframe
C) Jcombo
D) JBox
Answer:A) Jpanel
- Which of the following component gives a drop-down list of options from which to choose?
A) Jpanel
B) Jbutton
C) JComboBox
D) Jbox
Answer: C) JComboBox
- Which of the following Swing components inherently support the WindowListener interface?
A) Swing frames (JFrame)
B) Swing checkboxes (JCheckBox)
C) None of these
D) Swing combo boxes (JComboBox)
Answer: A) Swing frames (JFrame)
- Which class in Swing provides a graphical way to display images, icons, or custom graphics?
A) Jimage
B) Jlabel
C) JImageIcon
D) JDialog
Answer: B) Jlabel
- What is/are the way(s) to create a Frame in Java Swing?
A) By creating the object of Frame class (association)
B) None of these
C) By importing a package named Jframe
D) By declaring a class with name JFrame
Answer: A) By creating the object of Frame class (association)
- Which method is used to set the graphics current color to the specified color in the graphics class?
A) public abstract void setFont(Font font)
B) public abstract void setColor(Color c)
C) public abstract void drawString(String str, int x, int y)
D) None of the above
Answer: B) public abstract void setColor(Color c)
- When are the keyboard events fired?
A) When the user manually calls the button
B) When the user right clicks the mouse
C) When the user calls the modifier
D) When the user clicks a key
Answer: D) When the user clicks a key
- Which of the following function is used to specify the layout of a container.
A) UseLayeout()
B) setLayout()
C) layout()
D) DesignLayout()
Answer:B) setLayout()
These are NPTEL Programming in Java Nptel Week 9 Assignment Answers
More Weeks of Programming In Java: Click here
More Nptel Courses: https://progiez.com/nptel-assignment-answers
Programming in Java Nptel Week 9 Assignment Answers (JAN-APR 2024)
Course name: Programming In Java
Course Link: Click Here
For answers or latest updates join our telegram channel: Click here to join
These are NPTEL Programming In Java Assignment 9 Answers
Q1. What is the parent class of all AWT components?
a. java.awt.Panel
b. java.awt.Component
c. java.awt.Container
d. java.awt.Frame
Answer: b. java.awt.Component
Q2. Which event is generated when a user clicks a button in AWT?
a. MouseEvent
b. ActionListener
c. KeyEvent
d. WindowEvent
Answer: b. ActionListener
For answers or latest updates join our telegram channel: Click here to join
These are NPTEL Programming In Java Assignment 9 Answers
Q3. Which of the following architecture does the Swing framework use?
a. MVC
b. MVP
c. Layered architecture
d. Master-Slave architecture
Answer: a. MVC
Q4. A __________ is the basic class for all SWING UI components?
a. Container
b. JComponent
c. Component
d. Jbox
Answer: b. JComponent
For answers or latest updates join our telegram channel: Click here to join
These are NPTEL Programming In Java Assignment 9 Answers
Q5. Which event is generated when a window is resized in AWT?
a. WindowEvent
b. ComponentEvent
c. ResizeEvent
d. ContainerEvent
Answer: b. ComponentEvent
Q6. Which method is used to remove a component from a container in AWT?
a. remove()
b. deleteComponent()
c. removeComponent()
d. destroy()
Answer: a. remove()
For answers or latest updates join our telegram channel: Click here to join
These are NPTEL Programming In Java Assignment 9 Answers
Q7. What is true about the following code.
a. Both “OK” and “Cancel” button is added, but only “Cancel” button is visble.
b. Only “OK” button is added and visible, “Cancel” button is not added.
c. Only “Cancel” button will be added and visible, “OK” button is not added.
d. Code throws an ERROR.
Answer: a. Both “OK” and “Cancel” button is added, but only “Cancel” button is visble.
Q8. Which of the following function is used to generate the application’s top-level window?
a. JPanel
b. JFrame
c. JCombo
d. JBox
Answer: b. JFrame
For answers or latest updates join our telegram channel: Click here to join
These are NPTEL Programming In Java Assignment 9 Answers
Q9. In Java, what is the primary purpose of a layout manager?
a. To manage memory allocation
b. To arrange GUI components within a container
c. To handle exception handling
d. To control database connections
Answer: b. To arrange GUI components within a container
Q10. Which layout manager divides the container into five regions: North, South, East, West, and Center?
a. Border Layout
b. Grid Layout
c. Flow Layout
d. Card Layout
Answer: a. Border Layout
For answers or latest updates join our telegram channel: Click here to join
These are NPTEL Programming In Java Assignment 9 Answers
Programming Assignment
Question 1
Write a Java program that utilizes multithreading to calculate and print the squares of numbers from a specified begin to a specified end.
The main method is already created.
You need to design a SquareThread class that has two members,
int begin;
int end;
Each thread should sequentially print the squares of numbers from begin to end (both inclusive).
The same code will be used to create another thread that prints the sqaure of numbers from end to begin in reverse order.
(if begin is greater than end, print the square of each number in reverse order first)
The main method will first call SquareThread with begin and end and then in reverse order.
The class you create should be able to handle such case and print as required in the correct order.
HINT: use the keyword synchronized
in the run method.
Solution:
SquareThread(int begin, int end){
this.begin = begin;
this.end = end;
}
synchronized public void run() {
if( begin <= end )
for (int i=begin; i<=end; i++)
System.out.println(i*i);
else
for (int i=begin; i>=end; i--)
System.out.println(i*i);
}
These are NPTEL Programming In Java Assignment 9 Answers
Question 2
Complete the code segment to catch the exception in the following, if any.
On the occurrence of such an exception, your program should print
§ Please enter valid data
If there is no such exception, it will print the square of the number entered.
Solution:
try{
java.util.Scanner r=new java.util.Scanner(System.in);
String number=r.nextLine();
int x = Integer.parseInt(number);
System.out.print(x*x);
}
catch( Exception e )
{
System.out.print("Please enter valid data");
}
These are NPTEL Programming In Java Assignment 9 Answers
Question 3
The program given below stores characters in a byte array named byte_array, which means ‘A’ is stored as 65.
Your task is the following:
§ Given a user input n
, print the output in the given format, if n
= 1, print:
o byte_array[1] = ‘P’
§ If the value of n is negative or is out of bound, then use TRY_CATCH to print the following:
o Array index is out of range
Solution:
System.out.print("byte_array[" + n + "] = '" + (char)byte_array[n] + "'");
}
catch (IndexOutOfBoundsException e2) {
System.out.print("Array index is out of range");
}
These are NPTEL Programming In Java Assignment 9 Answers
Question 4
Define a class Point with members
§ private double x;
§ private double y;
and methods:
§ public Point(double x, double y){} // Constructor to create a new point?
§ public double distance(Point p2){} // Function to return the distance of this Point from another Point
Solution:
class Point{
private double x;
private double y;
public Point(double x, double y){
this.x = x;
this.y= y;
}
public double distance(Point p2){
double d;
d=Math.sqrt((p2.x-x)*(p2.x-x) + (p2.y-y)*(p2.y-y));
return d;
}
}
These are NPTEL Programming In Java Assignment 9 Answers
Question 5
Complete the code below with a catch statement to print the following if the denominator (b) is zero
§ Cannot Divide by ZERO
Solution:
catch (ArithmeticException e) {
System.out.print("Cannot Divide by ZERO");
}
For answers or latest updates join our telegram channel: Click here to join
These are NPTEL Programming In Java Assignment 9 Answers
More Weeks of Programming In Java: Click here
More Nptel Courses: https://progiez.com/nptel-assignment-answers
Programming in Java Nptel Week 9 Assignment Answers (July-Dec 2023)
Course Name: Programming In Java
Course Link: Click Here
These are NPTEL Programming In Java 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 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 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 Assignment 9 Answers
More Weeks of Programming In Java: Click here
More Nptel Courses: Click here
Programming in Java Nptel Week 9 Assignment Answers (JAN-APR 2023)
Course Name: Programming in Java
Course Link: Click Here
These are NPTEL Programming In Java 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 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 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 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 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
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 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();
}